php - 表单数据库设计

标签 php mysql database cakephp phpmyadmin

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

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

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

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

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

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

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

提前致谢,

亚伯拉罕

最佳答案

据我了解,设置如下所示。正如你所说,我们有 3 个表:

'formname' = id, name(对于表单名称) 'formfields' = id、字段名称、属性(对于表单名称,添加属性以防需要) 'forms' = id, formname_id, formfields_id, formfields_order(准备好的表单以及在表单中订购字段的可能性)

您还应该创建额外的表来存储提交的值 'forms_values' = id, forms_id, value(在本例中每个字段对应一行)

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

当然也应该有用户表。

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

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

关于php - 表单数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16786904/

相关文章:

php - 无法弄清楚如何将 <input type ="checkbox"> 转换为 PHP bool 值

php - 了解 `SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST` 的结果

php - 两个日期查询之间的mysql日期字符串不起作用

php - 在 WordPress 中有多个获奖者的奖励

javascript - onBlur触发的多个表单字段如何使用JS fetch api系统替换jQuery AJAX系统?

mysql - 计算sql中不同的值

mysql - 如果池大小小于并发连接数,Hibernate 池如何工作?

php - 在小型网站的 sql 数据库中存储 BLOB 图像。 - MySQL

java - 使用 JDBC 应用程序在 MySQL 中创建数据库和表

java - 在同一个表中保存多种类型的对象的最佳方法?