【发布时间】:2014-02-16 07:33:09
【问题描述】:
我有一个包含一系列 21 个复选框的表单。提交表单时,每个复选框在 MySQL 表的字段中记录为 1 或 0。就目前而言,这一切都很好 - 网站的所有者可以在一个页面上检索此信息,该页面显示已为每个用户选中了哪些复选框,这就是她所需要的一切。
但是,出于其他目的,我需要一个表来记录由每个用户的 id 和与该用户选中的每个复选框相对应的数字组成的数据集。因此,例如,如果我有两个用户的 ID 分别为 145 和 146,第一个 (145) 选中复选框 5、7 和 12,第二个 (146) 选中复选框 1、9 和 17,我需要在另一个中记录以下内容MySQL 表:
| userid | ckboxnum |
---------------------
| 145 | 5 |
---------------------
| 145 | 7 |
---------------------
| 145 | 12 |
---------------------
| 146 | 1 |
---------------------
| 146 | 9 |
---------------------
| 146 | 17 |
---------------------
我可以在输入数据时将此数据插入到第二个表中,但这会增加复杂性,因为用户可以稍后返回并更改复选框。但是,有一个截止日期,超过该截止日期用户不能进行更改。因此,在截止日期之后使用第一个表中的数据创建第二个表可能更有意义,从而避免了更改问题。
我正在寻找有关如何执行此操作的建议。
【问题讨论】:
-
如果您的第一个表已经包含用户选中哪些复选框的信息 - 那么您需要第二个表做什么?听起来您想将相同的数据存储两次。
-
正如@CBroe 所说,您已经拥有数据,您所需要的只是不同的视图。
-
我需要第二个表来构建(地理)地图,它将该表中的数据与其他几个表中的数据结合起来。地图代码允许根据第二个表中的数据过滤地图上的点。我同意这是对相同数据的不同视图,只是试图找出从当前视图到我在原始帖子中显示的视图的最佳方法。