为了账号安全,请及时绑定邮箱和手机立即绑定

SQL如何在数据库中插入多个复选框

SQL如何在数据库中插入多个复选框

PHP
慕沐林林 2022-07-16 10:49:58
我想了几天如何最好地在我的数据库中插入多个复选框。我想要做的是,如果用户选择一个选项,相关的复选框会显示在选择下方。例如:用户选择选项 1 -> 出现复选框 A、B 和 C用户选择选项 2 -> 出现复选框 D、E 和 F我的选项来自一张桌子,复选框来自另一张桌子。那已经很好了。但是如何在我的数据库中插入选择的复选框(例如 A 和 C),以便我能够分析来自此特定提交的数据(例如用户已提交表单 -> 提交 1,已选择选项 1,只有 75%的复选框已被选中;选中的框是 A 和 C;复选框 C 丢失)我希望我能解释一下。我想“简单地”提交数据以在之后进行分析。
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

像这样使用数组选择多个复选框

<input type="checkbox" name="Days[]" value="Daily">Daily<br>

例子


查看完整回答
反对 回复 2022-07-16
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

针对您的特定场景有几种方法,其中之一是Pierre提到的。另一个是您分配给复选框元素的任何值,将所有选定的值保存在以逗号分隔的值的列中。


例如:在选项 1 中,您有三个具有某些值的复选框,


<input type="checkbox" name="test[]" value="1" />

<input type="checkbox" name="test[]" value="2" />

<input type="checkbox" name="test[]" value="3" />

假设用户从选项 1 中选择了 2 个复选框,从选项 2 中选择了三个复选框。现在在请求中,您应该在test[]变量中有多个条目,例如:[1,3,4,5,6]。将所有这些条目保存在一列中作为 varchar:


id | test

1  | 1,3,4,5,6

并且在检索时,您可以用逗号explode()它们并对每个复选框条目执行您喜欢的任何操作。


这样,您可以将任意数量的复选框选项保存在一个类别下。我希望这会有所帮助,并回答您的问题。


查看完整回答
反对 回复 2022-07-16
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您可能应该使用两个表:


一个包含有关哪些复选框与哪个选项一起使用的信息:


Option | Checkbox

1      | A

1      | B

1      | C

2      | D

2      | E

2      | F

然后是一秒钟的价值


SubmidId | Option | Checkbox | Value

1000     | 1      | A        | 1

1000     | 1      | B        | 0

1000     | 1      | C        | 1

这将允许您使用第一个表来定义您的结构,并使用第二个表来存储您的记录。如果 PIVOT 命令可以让您更轻松地显示内容,请不要犹豫。


奖励:向两个表添加一个版本可以让您更改结构并保持历史一致性。


查看完整回答
反对 回复 2022-07-16
  • 3 回答
  • 0 关注
  • 225 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信