【问题标题】:Need some help making a checklist module in PHP需要一些帮助在 PHP 中制作清单模块
【发布时间】:2012-09-22 04:39:29
【问题描述】:

所以我需要为一个网络应用程序制作一个清单,管理员可以在其中为用户编辑一个清单。管理员可以在满足特定条件时检查它们,并在必要时对其进行评论。

我设置了 3 个表:

  • 一个用户表,存储所有用户信息,如姓名、出生地等。主键是user_idnr
  • 然后我有一个名为CHECKLIST_properties 的表。它存储复选框的所有不同项目。它有以下列:

    property_idnr |类型 |说明

  • 最后,我有一个名为CHECKLIST_user_property 的表。它用于将属性链接到用户,当创建一行时,它会被选中。它有以下列:

    link_idnr | user_idnr | property_idnr |厘米

我在计划如何将选中的复选框保存在数据库中时遇到了麻烦。您需要确定何时需要从表中添加或删除行。谁能给我一些关于如何正确设置的提示?

【问题讨论】:

  • 清单属性是否可重复用于不同的用户?您是否提供当前属性,然后如果管理员需要添加另一个属性,他们可以吗?因此,例如,管理员正在为用户制作列表,他为清单选择了一些已经存在的属性,然后他想添加更多不存在的属性,因此他创建了它。
  • 要添加一个新属性,您不只是检查是否存在具有相同描述和类型的属性,如果不存在则创建它。
  • 它主要是一个通用的清单,对每个用户都是一样的。将来我可能会添加一些管理员可以添加新问题的内容,但我认为这对所有用户都是全局性的。
  • 在这种情况下,您并没有真正从清单属性表中添加或删除行,对吧?您只需为要显示在用户清单上的每个属性添加一个 property_idnr。
  • 我想我不明白你被困在哪里。

标签: php mysql database checkbox


【解决方案1】:

我看到了几个选项:

  1. 删除所有行并重新添加当前选定的行。这可能会产生意想不到的副作用(新的自动递增数字等)。
  2. 添加用于跟踪行状态的列。使用INSERT ... ON DUPLICATE KEY UPDATE 向表中添加行和/或更新现有行。新/更新的行在新列中将具有不同的值(如时间戳)。然后删除所有值较旧的行(因为它们没有被添加/更新,所以不需要它们)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2011-03-29
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    相关资源
    最近更新 更多