我有以下代码,可用于将表单数据插入数据库中的单个表中。

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


在此代码之后,我想使用同一表格数据与另一个表中的其他数据配对,以将新记录插入到另一个表中。这是两个表的结构。

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


因此,将数据插入jss_users_interests_table后,我需要做的是将相同的数据以及每个subcategories_id's对应的provider_id从jss_provider_assignment_table插入jss_info_requests_table。合理?我是否感到厌烦并使其变得复杂?

语法方面的任何帮助都会很棒。谢谢!

最佳答案

此SQL可能有效。

 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]

关于php - 使用php将类似的数据插入两个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/809328/

10-16 09:42
查看更多