【问题标题】:How insert a form data to mysql when checkbox is checked?选中复选框时如何将表单数据插入mysql?
【发布时间】:2016-08-03 22:37:40
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 对不起我的英语:-)
  • 你可能应该提供更多代码,一个小例子,我们可以看到多个记录以及你的 php 脚本如何处理这些记录。

标签: mysql checkbox insert


【解决方案1】:

复选框仅在选中后通过 POST 发送。如果未选中,则不会发送。如果选中,也许你期望值'on',如果未选中,则值'off',但不!,如果选中,你只会收到'on',否则什么都没有。因此,如果您收到复选框(使用 isset($_POST['checkbox_name']') 变量在您的帖子集 1、true、'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
 }

【讨论】:

  • 你能写信告诉我如何在我的例子中更改 php / 中的输入值吗?
  • 不清楚你想用你的复选框实现什么。您谈论要插入的数据,复选框仅带来布尔值“开”或“关”。您要存储哪些数据?
  • 我想在 mysql 中插入一条记录(id、event_id、name、start_time)。而已。但仅限输入复选框选择的那些记录。
猜你喜欢
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
相关资源
最近更新 更多