Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 动态表单的设计、存储和检索_Design Patterns_Web Applications_Coldfusion 8_Drupal Webform - Fatal编程技术网

Design patterns 动态表单的设计、存储和检索

Design patterns 动态表单的设计、存储和检索,design-patterns,web-applications,coldfusion-8,drupal-webform,Design Patterns,Web Applications,Coldfusion 8,Drupal Webform,自定义动态生成表单背后的设计是什么 希望实现类似drupal的CCK的东西 在控制面板中,表单所有者设计表单中应包含哪些字段以及表单字段的顺序,以及字段的属性,如“必需:是/否” 表单设计完成后,最终用户填写表单并提交 目前我可以让用户创建自定义表单,问题是表单内容的存储和检索 通常,在编写表单时,谁的数据存储在数据库中,将表单数据输入数据库所需的代码也会被写入。当表单几乎每次都随不同字段变化时,如何编写此代码 基本上,我需要的是理解允许存储和检索自定义表单的数据库设计,不管字段的数量或类型如何

自定义动态生成表单背后的设计是什么

希望实现类似drupal的CCK的东西

在控制面板中,表单所有者设计表单中应包含哪些字段以及表单字段的顺序,以及字段的属性,如“必需:是/否”

表单设计完成后,最终用户填写表单并提交

目前我可以让用户创建自定义表单,问题是表单内容的存储和检索

通常,在编写表单时,谁的数据存储在数据库中,将表单数据输入数据库所需的代码也会被写入。当表单几乎每次都随不同字段变化时,如何编写此代码

基本上,我需要的是理解允许存储和检索自定义表单的数据库设计,不管字段的数量或类型如何

我不想为每个表单提交一个新表,也不想为每个表单手动编写代码

这些是我需要的主要字段类型

  • 文本框
  • 选择列表
  • 单选按钮
  • 检查表
  • 日期字段
  • 文本区
下面是我提出的数据库设计

表1

id、formid、类型、位置、名称、值、选择(外部)、多个

id:该记录的唯一id,自动

formid:唯一的表单id,特定表单中的所有字段将共享相同的formid

类型:可以是文本框、选择列表、收音机

位置:字段是第一、第二还是第五

名称:字段的唯一名称

值:如果是文本框,则在此处输入默认值。如果字段类型不需要值,则它将保持为null

选择(外部):如果是选择列表框,则会显示外部ID号

多个:如果希望在该列表框中允许多个选择,则该值将为1,否则将为null

表2 id、select、value

因此,如果您想要一个选择列表框字段,在表1中,您的类型为selectbox,并且在表2中有与“select”相关的外键值

如果您想要一个文本区域,在table1中输入的将是文本区域,如果需要一个默认值,您可以输入它,否则它将为空

表1并没有列出所有属性,但您得到了要点。根据所需的字段类型,确定需要填充的属性。如果该属性需要存储额外的数据,例如选择列表框,请简单地创建一个关系,如表2所示

要呈现表单,系统将解释数据库中的数据并相应地创建字段

到目前为止还不错,但是,当字段总是在更改时,如何将数据存储在数据库中

存储这些数据需要什么样的数据库设计

以上是动态生成表单的正确方法吗?

我发现: