Frage

Ich habe den folgenden Code I Formulardaten in eine einzige Tabelle einzufügen verwende in meinen Daten base.`

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);
}`

Auf den Fersen von diesem Code, würde Ich mag die gleichen Formulardaten mit anderen Daten in einer anderen Tabelle gepaart verwenden, um einen neuen Datensatz in eine andere Tabelle einzufügen. Hier ist die Struktur für beide Tabellen.

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

Also, was ich nach dem Einfügen der Daten in die jss_users_interests_table tun müssen, ist auf die gleichen Daten zusammen mit jeder subcategories_id's entsprechenden provider_id aus dem einfügen jss_provider_assignment_table in der jss_info_requests_table . Sinn ergeben? Bin ich es bis Borking und es kompliziert machen?

Jede Hilfe mit der Syntax wäre genial. Dank!

War es hilfreich?

Lösung

Diese SQL funktionieren könnten.

 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]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top