在mysql中插入多个记录

时间:2013-07-01 06:47:38

标签: php mysql checkbox

我从1张表中获得了5条记录的学生名单。现在我在每行的末尾添加了一个复选框。 现在我要做的是将所有数据插入一个新表中,包括复选框值为1(如果选中),0表示未选中。 新表将有一个新的colomn date_id ,对于所有5个条目都是相同的,其他列将保持与表1中相同。 怎么做请帮忙

5 个答案:

答案 0 :(得分:1)

你的意思是用一个查询在mysql中插入多行: -

Insert into table table_name Values (date_id,values_of_a),(date_id,values_of_a),(date_id,values_of_a)... n number of records;

您从表1中选择查询中获得的a,b,c列的值。

答案 1 :(得分:1)

你可以试试这个:

<input type="checkbox" name="check[]" value="<?=(isset($table1Id))?$table1Id:'0'?>" />

<?php
    foreach($_POST['check'] as $each){
        if($each != "0"){
            $table1Id   = $each;
            ### retrive the details from table 1 here based on pk "$table1Id" and insert into table 2

        }
    }
?>

答案 2 :(得分:0)

为每个循环执行for / for整个列表,并对该列表数组中的每个记录执行insert查询

答案 3 :(得分:0)

您需要执行以下操作:

INSERT INTO new_table (col1, col2, col3) select col1, col2, custom_value from old_table;

注意:

  • 列数需要匹配。
  • 您可以在选择查询中指定任何自定义值。

答案 4 :(得分:0)

如果您想使用单个查询,那么

插入表中your_table_name值(date_id,values1),(date_id,values2),(date_id,values3),(date_id,values4),(date_id,values5)

将所有值存储在列表中,并为该列表中的每条记录执行for循环