【问题标题】:php - inserting the values of multiple checkbox selectionsphp - 插入多个复选框选择的值
【发布时间】:2009-01-11 04:00:46
【问题描述】:

我要参考的网站是

http://www.iaddesignandstudio.com/offline选择报价标签

如果一个人填写此表格并在数字 1 或数字 3 中选择多个复选框。我将如何将这些选定的值插入数据库,以便在检索用户输入或选择的信息时我可以看看他/她选择了哪些复选框?

【问题讨论】:

  • 顺便说一句,“1. 你的网络礼物的主要目的是什么?”礼物应该是存在的。
  • 虽然他们问的是同一个问题,但这个问题更笼统,我认为值得保留。

标签: php mysql database forms


【解决方案1】:

您可以在提交表单后通过在name 属性末尾添加[] 将复选框设置在一个数组中,如下所示:

<input type="checkbox" name="services[]" value="Podcasting Services" /> 
Podcasting Services      
<input type="checkbox" name="services[]" value="Local Search" />Local Search

提交表单后,您的$_POST['services'] 变量将是一个包含所有检查值的数组。例如:

#var_dump($_POST['services']);
array(2) {
  [0]=>
  string(19) "Podcasting Services"
  [1]=>
  string(12) "Local Search"
}

然后你可以用它做任何你想做的事情,无论是发送电子邮件还是使用 ether foreach()implode() 将字段添加到数据库以遍历值。

希望这会有所帮助!

【讨论】:

  • 我应该用逗号插入它吗?在一列中?所以在这种情况下 colservices 将包含播客服务、本地搜索?
  • 只需使用 implode(', ',$_POST['services']) 来获取逗号分隔的列表。注意:您需要检查以确保 $_POST['services'] 存在,或者更好的是已经存在数组: if(is_array($_POST['services'])
【解决方案2】:

我会在数据库中为他们设置单独的字段。与问题 1 一样,发布的表单可能会提交 $_POST['admycomp'] 和 $_POST['provideresource'] 已被检查。如果是这样,请在数据库字段 admycomp 或 providerresource 中插入 1。这样您就记录了他们检查了哪些字段。

【讨论】:

    【解决方案3】:

    我建议将值存储在数据库中是使用 SET 数据类型(例如:http://dev.mysql.com/doc/refman/5.0/en/set.html)。这将以存储有效的方式将复选框组中的每个复选框值存储在单个列中。您可能需要使用上面提到的 implode 来创建 SQL 查询来插入您的集合。

    【讨论】:

      猜你喜欢
      • 2016-10-01
      • 2015-02-19
      • 2012-08-20
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2014-03-28
      • 1970-01-01
      相关资源
      最近更新 更多