【问题标题】:Creating MySQL table from data in another table从另一个表中的数据创建 MySQL 表
【发布时间】: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 所说,您已经拥有数据,您所需要的只是不同的视图。
  • 我需要第二个表来构建(地理)地图,它将该表中的数据与其他几个表中的数据结合起来。地图代码允许根据第二个表中的数据过滤地图上的点。我同意这是对相同数据的不同视图,只是试图找出从当前视图到我在原始帖子中显示的视图的最佳方法。

标签: php mysql checkbox


【解决方案1】:

你需要一些类似的视图:

create view checkedonly as select userid, ckboxnum from checkbox_results where checked=1

您可以像计划使用第二个表一样使用此视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2013-04-25
    相关资源
    最近更新 更多