Domanda

Ho il seguente codice che uso per inserire i dati del modulo in una singola tabella nella mia base di dati.

function insert_interests($uid, $interests) {
/* first, we'll delete any entries this user already has in the table */
    purge_lookup("jss_users_interests_table", $uid);
/* now create the sql insert query */
    global $db;
    $db->query(create_checkbox_query($interests, "jss_users_interests_table", $uid));
}
/* helper function for insert_interests(). removes all rows in $table with $uid */
function purge_lookup($table, $uid) {
    global $db;
    $db->query("DELETE FROM $table WHERE users_id = '".$db->escape($uid)."'");
}
/* helper function for insert_interests(). generates the actual SQL query */
function create_checkbox_query($arr, $table, $uid) {
    $q = "INSERT INTO $table (users_id, subcategories_id) VALUES";
    foreach ($arr as $check) {
    $q .=  " ( '$uid' , $check )" . ",";
    }
/* remove the last comma and return */  
return substr($q, 0, -1);
}`

Sulla scia di questo codice, vorrei usare gli stessi dati del modulo associati ad altri dati in un'altra tabella per inserire un nuovo record in una tabella diversa. Ecco la struttura per entrambe le tabelle.

jss_users_interests_table

  • USERS_ID
  • subcategories_id

jss_info_requests_table

  • USERS_ID
  • PROVIDER_ID
  • subcategories_id

jss_providers_assignments_table

  • PROVIDER_ID
  • subcategories_id

Quindi quello che devo fare dopo aver inserito i dati nel jss_users_interests_table è inserire gli stessi dati insieme a ciascun subcategories_id corrispondente provider_id dal jss_provider_assignment_table nella jss_info_requests_table . Ha senso? Lo sto correndo e rendendolo complicato?

Qualsiasi aiuto con la sintassi sarebbe fantastico. Grazie!

È stato utile?

Soluzione

Questo SQL potrebbe funzionare.

 INSERT INTO jss_info_requests_table 
 (users_id, provider_id, subcategories_id)
SELECT a.users_id,
 b.provider_id, b.subcategories_id FROM
 jss_users_interests_table a,
 jss_providers_assignments_table b 
 WHERE a.subcategories_id =
 b.subcategories_id AND a.users_id =
 [USERID]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top