Legen Sie ähnliche Daten in zwei Tabellen mit PHP
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!
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]