类似调查问卷的表单是如何存储的?

例如腾讯问卷、问卷星这类表单是如何存储问题的,又如何存储用户提交的数据,并且还可以统计查询

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:

1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。

2、提交的数据就是个Json,包含问卷id、题目id、选项id等。

3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。

5个月前 评论
臭鼬 (楼主) 5个月前
她来听我的演唱会 (作者) 5个月前
臭鼬 (楼主) 5个月前
她来听我的演唱会 (作者) 5个月前
讨论数量: 16

问卷的题类型大方向就两项,纯文本填写和选项(单选(选项,判断),多选;附带输入文本),按照题目答案一对多应该就可以进行相关统计;问卷基本(单)-问卷题目(多,多对一问卷基本)-问卷项(多,多对一问卷题目)-用户填卷记录(单,一对一问卷基本)-用户问卷题目(多,一对一问卷项,多对一用户填卷记录)-用户题目答案(多,多对一用户问卷题目)

5个月前 评论
sanders

简单实现的话至少应该用四个模型:

  • 问卷模型:问卷元数据;
  • 问卷题目模型:问卷关联的题目、类型和选项等;
  • 结果模型:用户提交问卷的元数据;
  • 结果答案模型:结果关联的每道题目的答案。

其中的问卷题目按不同题型进行数据渲染成为各种表单,如单选、多选、文本等;统计则一般是按照结果答案模型对用户答案进行分组来进行聚合计算。

5个月前 评论
MissYou-Coding

按照问题类型标识存储。一对一,一对多。

5个月前 评论

问卷主表,问卷题目,题目选项,选项答案,四个表。

5个月前 评论

提交的结果大多是json

5个月前 评论

这不巧了吗,原来的平台做过问卷。 首先数据表有这么几个:问卷表、问卷问题表、问题类型表、问题选项表、问卷回答表。 流程大概是这样的:

1、创建问卷,下面包含了不同类型的题目(单选、多选、填空等)等。

2、提交的数据就是个Json,包含问卷id、题目id、选项id等。

3、如果需要对选项进行统计,那么就需要在回答表里进行统计,例如单选、多选、判断的答案是option_id,填空、问答的答案就是字符类型的content;而多选和其他有option的还不一样,是有多条记录,例如选择了A、B两个选项,那么在回答表里就是两条记录,这样做就可以对选项选中进行统计了。

5个月前 评论
臭鼬 (楼主) 5个月前
她来听我的演唱会 (作者) 5个月前
臭鼬 (楼主) 5个月前
她来听我的演唱会 (作者) 5个月前

直接json无脑存

5个月前 评论
臭鼬 (楼主) 5个月前
hhh 5个月前

刚好,前一阵给他们赶工写了一份表单的 Builder ,区别是问题是他们提供好的,我只是负责帮他们写一个 builder

file

5个月前 评论
臭鼬 (楼主) 5个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!