通过表单将数据从一个表插入到另一个表

Posted

技术标签:

【中文标题】通过表单将数据从一个表插入到另一个表【英文标题】:inserting data through form from one table to another 【发布时间】:2016-07-04 19:27:03 【问题描述】:

我正在使用 php 通过 html 表单将值从一个表插入到另一个表,但问题是另一个表有一些额外的字段说我的表是

table1(姓名、电子邮件、密码、地址、电话号码)

table2(t_name, t_email, t_password, t_mobno, t_gender)

如何在我输入其他值的同时通过表单插入t_mobnot_gender

【问题讨论】:

只是显示一些代码,你是如何实现这一目标的 $query1="INSERT INTO table1(name, email, password, address, phno) VALUES('$name', '$emailid', '$pwd', '$addr', '$ phno')"; $query2="INSERT INTO table2(t_name, t_email, t_password) SELECT name, email, password FROM table1 WHERE email='$emailid')"; $query3=" INSERT INTO table2(t_mobno, t_gender) VALUES('$t_mobno','$t_gender') where t_email='$emailid'";这就是我尝试的方式,但 where 子句在插入中不起作用。 【参考方案1】:

请参考:INSERT INTO SELECT

这就是我的做法,可能会有所帮助:

$query = $this->db->get('Table1')->result(); // get first table
foreach($query as $result) 
 
//Your Post Values from form data in array : POST_DATA
$post_data = array_from_post('filed1,filed2....');

$data = array_merge($result,$post_data);

$this->db->insert('Table2', $data); // insert each row to another table

这里我在我的基础模型中定义了array_from_post,你可以像这样使用它:

public function array_from_post($fields)
    $data = array();
    foreach ($fields as $field) 
        $data[$field] = $this->input->post($field);
    
    return $data;

【讨论】:

先生,我必须通过表格输入的其他字段呢? @abizz 查看更新的代码,我还没有测试过,但它可能对你有帮助:) @abizz 也许我误会了你是不是想从一个表单中将数据插入两个表?

以上是关于通过表单将数据从一个表插入到另一个表的主要内容,如果未能解决你的问题,请参考以下文章

使用循环将数据从一个表插入到另一个表

DAO 函数将数据从一个表插入到另一个表

将行从一个链接表插入到另一个链接表

SQL 将某些数据从一个表插入到另一个表

MYSQL将数据从一个表插入到另一个表中

如何在展平嵌套字段后将数据​​从一个 bigquery 表流式插入到另一个表?