复选框组多个插入与MYSQL可实现?

时间:2011-10-03 15:17:16

标签: php mysql insert

如何将我的行输出到一个复选框组并根据所检查项目的ID将它们插入到数据库中?

因此,用户检查1,2,3,4,5并将1,2,3,4,5的ID插入myTable。

到目前为止,我只处理过1 x $ myVariable INSERTS ..

2 个答案:

答案 0 :(得分:1)

MySQL具有扩展的插入语法。假设您的复选框值存储在规范化表中,您可以使用类似

的内容
INSERT INTO yourtable (checkboxID) VALUES ($id1), ($id2), ($id3), etc...

将为您指定的每个值在yourtable中生成新记录。请注意,您可以以相同的方式插入值集:

INSERT .... VALUES ($x, $y), ($a, $b), ($c, $d) etc...

您必须自己构建该值列表,因为扩展插入工作需要它们周围的括号。你不能简单地做INSERT .... implode($_POST['checkboxes']类型的事情。

现在,如果您想将逗号分隔的ID列表插入到数据库中的单个字段/记录中,那么我强烈建议您不要这样做。规范化数据库并为这些值创建子表。

答案 1 :(得分:1)

将复选框命名为数组,然后检查提交是否已选中每个索引。

例如:

<input type='checkbox' name=content[] value='1'>1
<input type='checkbox' name=content[] value='2'>2
<input type='checkbox' name=content[] value='3'>3

PHP:

foreach($_POST['content'] as $record)
{
    // insert query
}