-1

我从 1 个表中获取学生列表,它有 5 条记录。现在我在每一行的末尾添加了一个复选框。现在我想要做的是将所有数据插入一个新表中,包括复选框值,如果选中,则为 1,未选中则为 0。新表将有一个新的列date_id,所有 5 个条目都相同,其他列将保持与表 1 中的相同。如何做到这一点请帮忙

4

5 回答 5

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 列的值。

于 2013-07-01T06:57:27.853 回答
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

        }
    }
?>
于 2013-07-01T07:06:54.197 回答
0

为整个列表的每个循环执行一个 for/ 并对该列表数组中的每条记录执行插入查询

于 2013-07-01T06:51:56.137 回答
0

您需要执行以下操作:

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

笔记:

  • 列数需要匹配。
  • 您可以在选择查询中指定任何自定义值。
于 2013-07-01T07:04:57.767 回答
0

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

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

或者

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

于 2013-07-01T07:05:16.063 回答