当前位置: 首页 > 面试题库 >

自定义表单构建器的数据库设计(和结果存储)

魏刚豪
2023-03-14
问题内容

我正在尝试实现一个自定义表单生成器,类似于Wufoo和Google提供的表单生成器。

虽然我创建了一个简单的UI来创建这些自定义表单,但我的问题却出在数据库设计上。创建表单后,将JSON实现保存在数据库中(希望对此进行改进),并引用该实现来构建用户可以看到的表单。

提交后,我想将表单的所有字段存储在数据库中。遵循用于设计数据库的JSON结构,这很容易。但是 我希望每个字段都可以搜索

问题:

  1. 有没有更好的方法来存储表单设计?
  2. 什么数据结构/模型适合表单结果的存储? 我已经看到,EAV可能是一种可能性,但是由于涉及的输入类型不同(下拉,复选框,文本,文本区域),这可能变得乏味。
  3. 哪种结构将允许最简单的搜索并允许使用WHERE子句? 给出的JSON示例不允许我做的很好

问题答案:

EAV是一个有效的选项-它会变得复杂且难以处理,而实际上变成了未类型化的数据。

也可以选择使用带有XPath的XML:http : //dev.mysql.com/tech-resources/articles/xml-in-
mysql5.1-6.0.html

我认为,如果要搜索的字段可以变化,大多数情况下将要求您生成动态SQL。



 类似资料:
  • 目前的一个需求就是要用自定义表单收集数据! 这个需求还行,表结构是这样的 现在就是设计到收集数据这里,还要涉及到统计、报表、图标,这张表不知道怎么设计了,请大佬指教!

  • Im试图用支付属性payment._id保存订单,但无法在创建路由中获取捕获id。是否有一种方法通过贝宝传递一些id然后在捕获中获取该id?并且这是一个好主意,以节省订单和支付在捕获路线? 支付模型存储paypal捕获

  • 问题内容: 我想构建一个通用Web表单的后端,其中包含用户可以回答的问题。有多种类型的问题。 “普通”文本问题:通过一个简单的文本字段回答该问题。 示例 :一般的个人信息,例如姓名。 Textarea问题:相同,但是有更多的空间来写答案。 示例 :“您想要添加的更多信息”框。 多选题:带有一些预定义答案的问题,可以从中选择一个。 示例 :您对PHP的编程程度如何?[]不太好[]平均[]我已经写过这

  • 问题内容: 我正在尝试构建一种表单生成器,该表单生成器将允许我以灵活的方式定义,显示和存储“测试”。即,允许用户通过网络界面创建一种新型的测试/表单(“分组”)并定义一组将在表单上显示的字段(任何类型的字段,包括日期,文本,广播,复选框等)。我还需要一个结果表,该表将存储保存在每个表单/测试中的值。 作为一个不足的示例,到目前为止,我有以下3个表: 上面的问题-如果没有其他问题-我不确定如何动态显

  • HTTP路由 HTTP路由组件负责将HTTP请求交到对应的函数处理(或者是一个struct的方法),如前面小节所描述的结构图,路由在框架中相当于一个事件处理器,而这个事件包括: 用户请求的路径(path)(例如:/user/123,/article/123),当然还有查询串信息(例如?id=11) HTTP的请求方法(method)(GET、POST、PUT、DELETE、PATCH等) 路由器就

  • 实际上,我们正在使用fetchInto()将结果转换为对象列表。 例如: 。