Php:多个复选框

时间:2011-07-19 17:44:32

标签: php mysql

我有一个循环创建的以下复选框:

<input type='checkbox' value=0 name='<?php echo $question_id; ?>' />

每个复选框都有不同的ID,当用户检查多个复选框时,我想收集所有ID并将其插入到一个表中,该表将“事件”表与“问题”表相关联。

但是我没有得到ID ...我知道我应该使用数组,但是在name属性或values属性中是什么?另外,如何传递ID ...是否会进入值字段?

4 个答案:

答案 0 :(得分:3)

在HTML中:

<input type='checkbox' value=1 name='checkboxname[<?php echo $question_id; ?>]' />

在PHP中:

$set_checkboxes = array_keys($_POST['checkboxname']);

或者,或者:

在HTML中:

<input type='checkbox' value="<?php echo $question_id; ?>" name='checkboxname[]' />

在PHP中:

$set_checkboxes = $_POST['checkboxname'];

答案 1 :(得分:1)

我相信你需要像......

<input type='checkbox' value=<SOME UNIQUE VALUE> name='field_name[]' />

你将遍历恰好是数组的field_name

答案 2 :(得分:0)

尝试将输入更改为此。

<input type='checkbox' value='<?php echo $question_id; ?>' name='questions[]' />

现在,当您使用php获取帖子时,它将返回一个包含所有问题ID的数组

$questionIds = $_POST['questions'];

答案 3 :(得分:0)

你的HTML:

<form method="post" action="">
<input type="checkbox" id="things[]" value="red"> Cat<br>
<input type="checkbox" id="things[]" value="blue"> Mouse<br>
<input type="checkbox" id="things[]" value="green"> Car<br>
<input type="checkbox" id="things[]" value="yellow"> DaniWeb
</form>

你的PHP:

<?php
$things = serialize($_POST['things']);

$query = "INSERT INTO table(things) values($things)";
mysql_query($query) or die(mysql_error());
?>