搜索

首页  >  问答  >  正文

java - 动态表单应该如何设计数据库?

需求是这样的

  1. 在后台管理界面录入表单信息,规定有哪些表单 (可以增删)

  2. 在前端显示哪些表单的可以填写

  3. 最后把填写的表单(产生的真实数据)存入数据库

  4. 最后填入的数据需要能够方便查询,排序,过滤的数据

我在网上找了挺多资料都不太符合我的需求。
有没有设计大神提供一下设计的思路!!!

PHP中文网PHP中文网2749 天前1239

全部回复(4)我来回复

  • 高洛峰

    高洛峰2017-05-17 10:09:19

    1、先定义一张控件表,如单行文本,多行文本,单选,多选,时间等
    2、再定义一张配置表,用来定义一个Form有哪些字段,以及字段名字(用来显示,如姓名,性别),控件类型,字段默认值,字段长度,是否必填等信息
    3、然后在后台把对应配置表添加的记录存到另一张记录表,记录表里存放的可能有多个单行文本,多个单选等记录(多余)
    4、接着根据记录表的信息显示Form,
    5、最后填写完Form提交的时候,再把填写的资料保存起来就可以了,
    6、当需要显示填写的资料的时候,根据配置表和Form对应的记录,把相应的资料显示在对应的控件中


    补充

    回复
    0
  • 阿神

    阿神2017-05-17 10:09:19

    补充一下关于查询这块。基本思路和一楼一致。但是数据的筛选查询确实是一个问题 这样的话可以考虑加一个专门负责检索的表

    id 主键自增 search_id 是数据id filed_id 是 字段 的id data 就是数据值了

    当前台添加完这条数据的时候 在执行回调把 相关数据 插进这个表里 负责搜索就好了 这个表该加索引就加索引
    应该够用了

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:09:19

    最好把数据存储到mongo 如果存储关系数据库那就是个大坑,另外一定要存储一份汇总数据,然后在单独把表单数据存储一份,比如我新建了10个表单那么就存储10个集合

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-17 10:09:19

    支持mongodb存储,像商品属性这些 各种颜色 各种尺寸的 用mongodb存储相当愉快
    另,不是所有查询逻辑都写在SQL端才行,有一些逻辑提取出来写在代码层你会发现性能提升不少,可以少了不少join操作。

    回复
    0
  • 取消回复