选中复选框时如何将表单数据插入mysql?

时间:2016-08-02 12:33:17

标签: mysql checkbox insert

欢迎, 我有一些形式的问题,并将数据插入mysql。 我的表格有一个输入:

<inpu type="checkbox" name="check">

这是我将此表单数据插入mysql的代码。

if(isset($_POST['check'])) { //things to insert } 

当我选择一个复选框代码插入每条记录时,当我选择所有复选框时,它也会插入每条记录(所有数据)。但是当我没有选中一个复选框时,插入是空的(好的)。 这个复选框有什么问题?

1 个答案:

答案 0 :(得分:0)

只有选中后才会通过POST发送复选框。如果未选中它们,则不会发送它们。如果选中,你可能会期望价值'开',如果未选中则价​​值'关',但是没有!,如果选中,你将只收到'开',否则没有。因此,如果你收到复选框(用你的帖子集1中的isset($ _ POST ['checkbox_name']')变量检查它,真实,'Y'或你在数据库中用于布尔值的任何东西。如果你没有收到它! isset()然后设置0,false或'N'。相同的情况是禁用INPUT元素。它们的值不会被发送到服务器。

<form action"processor.php" method="post">
  <input name="data[]"><input type="checkbox" name="check[]">
  <input name="data[]"><input type="checkbox" name="check[]">
  <input name="data[]"><input type="checkbox" name="check[]">
  <input type="submit" value="Save">
</form>

在您的processor.php文件中:

 $data=$_POST['data']; //array received
 $checks=$_POST['check']; //array received (checked only)
 foreach($checks as $key=>$check) //loop through all checks that are sent
 {
   $value=$data[$key]; //do whatever you want with corresponding data
 }