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

标签 mysql checkbox insert

欢迎, 我在表单和向 mysql 插入数据时遇到一些问题。 我的表单有一个输入:

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

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

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

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

最佳答案

仅在选中时才通过 POST 发送复选框。如果未选中,则不会发送。也许您期望如果选中则值为“on”,如果未选中则值为“off”,但是不!如果选中,您只会收到“on”,否则不会收到任何消息。因此,如果您收到复选框(在您的帖子集中使用 isset($_POST['checkbox_name']') 变量进行检查 1、true、'Y' 或数据库中用于 bool 值的任何内容。如果您没有收到它! 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
 }

关于mysql - 当复选框被选中时如何将表单数据插入到mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38720542/

相关文章:

css - Angular 2 : change background color of div when checkbox is checked

javascript - 更改没有标签的复选框背景

angular - 带有复选框列的 Kendo Angular 2 网格

MySQL 在 JOIN 值上执行 ORDER BY 时速度缓慢?

mySQL - 如何选择两个不同的最小值?

php - 在自动生成的列和行中加载 mysql 数据

c - 根指针移动到指向二叉搜索树中插入的单词

mysql - mysql 数据透视表出现问题

java - 在 Java 中插入日期以访问数据库 - 奇怪的问题

C++ 插入对象列表