3 回答
TA贡献1794条经验 获得超7个赞
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()它们并对每个复选框条目执行您喜欢的任何操作。
这样,您可以将任意数量的复选框选项保存在一个类别下。我希望这会有所帮助,并回答您的问题。
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 命令可以让您更轻松地显示内容,请不要犹豫。
奖励:向两个表添加一个版本可以让您更改结构并保持历史一致性。
- 3 回答
- 0 关注
- 225 浏览
添加回答
举报