0

我会试着解释我的问题,看看我是否能得到一些帮助。

我正在尝试设计一个数据库。该数据库将包含用户和表单,但我的问题是如何设计它来保存表单。

表单将由管理员在需要时创建,因此在数据库中我有一个表来保存表单名称。另一个表,其中包含所有表单的所有可能字段,另一个表将保存表单名称和字段,因此我可以看到确定表单具有的所有字段。

一个例子:在 FormName 表中,我有 3 个表单名称:个人信息、计算机知识和爱好。在字段表中,我有例如姓名、地址、电话、操作系统、编程、骑自行车、玩电脑游戏。

我决定创建一个名称编号为 1(个人信息)和字段编号为 1、2、3(姓名、地址、电话)的表单。此信息记录在另一个名为 full-form 的表中,其中保存了表单名称 id 和字段 id。这对我来说很清楚(也许我错了)。

棘手的部分现在来了。一些用户决定填写个人信息表单,因此必须显示表单名称和每个字段。当用户填写表单时,必须以某种方式保存它,以便管理员可以看到表单的名称、该表单的每个字段、填写表单的人以及每个字段中写入的信息。所有这些不仅应该显示在数据库中,还应该以某种不同的方式显示,例如表格。

顺便说一句...我正在使用 cakephp 和 mysql。

提前致谢,

亚伯拉罕

4

1 回答 1

0

据我了解,设置看起来像这样。正如你所说,我们有 3 张桌子:

'formname' = id, name (for form names) 'formfields' = id, fieldname, attributes (for form names, 添加属性以备不时之需) 'forms' = id, formname_id, formfields_id, formfields_order (准备好的表格和可能性在表单中订购字段)

您还应该创建附加表来存储提交的值 'forms_values' = id, forms_id, value (在这种情况下,每个字段一行)

如果您想将这些值与特定用户相关联,则应再创建一张表 'users_forms' = forms_values_id, user_id

当然也应该有用户表。

我的建议是删除表“formnames”并将表单名称放在“forms”表中。然后表“表单”将包含 id、form_name、formfields_id、formfields_order

希望这个答案能让你前进:)

于 2013-05-28T08:32:55.003 回答