我会尝试解释我的问题,让我们看看我是否得到了一些帮助。
我正在尝试设计数据库。此数据库将包含用户和表单,但我的问题是如何设计它以保存表单。
表单将由管理员在需要时创建,因此在DB中我有一个表来保存表单名称。另一个表包含所有表单的所有可能字段,另一个表格将保存表单名称和字段,以便我可以看到确定表单所具有的所有字段。
示例:在FormName表中,我有3个表单名称:个人信息,计算机知识和爱好。在Fields表中,我有,例如,姓名,地址,电话,操作系统,编程,自行车摆脱,玩电脑游戏。
我决定创建一个名称为1(个人信息)和字段编号1,2,3(姓名,地址,电话)的表单。此信息记录在另一个名为full-form的表中,其中保存了表单名称id和字段id。这对我来说非常清楚(也许我错了)。
现在有了棘手的部分。某些用户决定填写个人信息表单,因此必须显示表单和每个字段的名称。当用户填写表单时,必须以某种方式保存表单,以便管理员可以看到表单的名称,该表单具有的每个字段,填写表单的人员以及每个字段中写入的信息。所有这些不仅应该显示在数据库中,而且应该以某种不同的方式显示,例如表格。
顺便说一句......我正在使用cakephp和mysql。
提前致谢,
亚伯拉罕
答案 0 :(得分:0)
据我所知,setup看起来像这样。如你所说,我们有3个表:
'formname'= id,name(表单名称) 'formfields'= id,fieldname,attributes(用于表单名称,在需要时添加属性) '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
希望这个答案会让你前进:)