我有一个 PHP 脚本,您可以(作为管理员)在其中选择问题表单中将有多少个输入字段。有些字段是非可选的,但有些是可选的(任意多)。
MySQL 中用于收集答案的表如下所示:
id | userid | fname | ename | seat | optional
如果管理员希望它是两个可选的输入字段,那么一个填写的表格的结果将在表格中包含三个拖曳:
| 5 | 3 | Peter | Pan | 4 | |
| | 3 | | | | opt.value1 |
| | 3 | | | | opt.value2 |
这真的是最好的存储方式吗?你会如何解决?
另外,我如何确保用户 ID 对用户而言是唯一的?我不能在 MySQL 中使用自动递增键值的东西,因为相同的值在三行上...
最佳答案
按照我的学习方式,您必须使用多个表。像这样:
表 1:
id | userid | fname | ename | seat
表 2:
userid | optional
Table2.userid 是对Table1.userid 的引用
然后可以将必须归档的字段放入第一个表中,将所有可选字段放入第二个表中。
如果我按照你的例子你的数据库应该是这样的:
表 1:
id | userid | fname | ename | seat
5 | 3 | Peter | Pan | 4
表 2:
userid | optional
3 | opt.value1
3 | opt.value2
对了,为什么你的Table1中同时有id和userid?
关于php - 如何构建具有动态输入字段的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459890/