如何将我的行输出到一个复选框组并根据所检查项目的ID将它们插入到数据库中?
因此,用户检查1,2,3,4,5并将1,2,3,4,5的ID插入myTable。
到目前为止,我只处理过1 x $ myVariable INSERTS ..
答案 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
}