php - 插入多个复选框选择的值

时间:2009-01-11 04:00:46

标签: php mysql database forms

我将参考的网站是

http://www.iaddesignandstudio.com/offline选择引用标签

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

3 个答案:

答案 0 :(得分:4)

您可以在提交表单后将复选框设置为一个数组,方法是在[]属性的末尾添加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"
}

然后你可以做任何你想做的事情,无论是发送电子邮件还是使用以太foreach()implode()向数据库添加字段来循环遍历这些值。

希望这有帮助!

答案 1 :(得分:2)

我会在数据库中为它们分别创建字段。与问题1一样,发布的表单可能会提交$ _POST ['admycomp']和$ _POST ['provideresource']。如果是这样,请在数据库字段admycomp或provideresource中插入1。这样你就可以记录他们检查的字段了。

答案 2 :(得分:0)

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