4 个回答
id topic option answer created_at updated_at type
1 1+1=? {A:"1",B:"2",C:"3",D:"4"} {"A"} null null 单选
2 下面能被2整除 {A:"1",B:"2",C:"3",D:"4"} {"B","D"} null null 多选
3 php是世界上最好的语言 {A:"对",B:"错"} {"A"} null null 单选

数据库结构的话基本字段是这样,具体看实际业务需不,answer【答案】字段使用数组,排序使用字母升序排列,前端选完答案与数据库的数据对比,一致的话就回答正确

ID title option answer type score explain
1 php是最什么的语言? {"A":"先进","B":"美丽","C":"好用","D":"流行"} {"answer":"C"} 单选 2 php是世界上最好用的语言的梗是出自PHP的官方文档,因为PHP是有史以来最好的语言,没有之一。它快速,非常强大,而且免费。

题目表

不管是什么类型的题目,无非包含下面几个点

  1. 问题是什么
  2. 单选、复选、判断题的参考选项
  3. 答案

所以题目表主要有如下几个字段:

  • 题目类型type:1单选,2多选,3判断题,0其他
  • 题目标题
  • 题目参考项(json格式数据存储)
  • 其他字段

答案表

答案和题目是一对一的,那么答案表必须包含如下字段内容

  • 关联的题目ID
  • 答案字段(json格式数据存储)
  • 其他字段

我大概说一个简单直观的设计,大概就是不管是题目的参考选项还是答案,都不能直接单个字段写死了,都用json去处理,扩展性不用担心。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题