需要组织成如下的JSON,怎么设计数据表来存储数据?其中该数据由人工录入
{
id:'123wer',//唯一
type:'radio',//单选
question:'今天几号',//问题描述
choice:['1','2','3','4'],//选项,选项个数不定
answer:0//正确答案
}
其中想不通的就是choice如何存储,他是一个数组,想过想把数组转换成字符串,选项之间以特殊的字符隔断,但是每个选项里如果有特殊字符怎么办,求更好的设计方案
需要组织成如下的JSON,怎么设计数据表来存储数据?其中该数据由人工录入
{
id:'123wer',//唯一
type:'radio',//单选
question:'今天几号',//问题描述
choice:['1','2','3','4'],//选项,选项个数不定
answer:0//正确答案
}
其中想不通的就是choice如何存储,他是一个数组,想过想把数组转换成字符串,选项之间以特殊的字符隔断,但是每个选项里如果有特殊字符怎么办,求更好的设计方案
简单点
将选项保存为数组并且json_encode为json格式存入choice
每次查询出choice值json_decode为数组处理
复杂点可以这样两张表
第一张
tb_question
questionID type question answer
第二张
tb_choice
choiceID questionID choiceValue
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
Question 和 Choice 是一对多的关系。
Question (QuestionId, Description)
Choice (QuestionId FK, ChoiceNumber, Description, IsAnswer)
示例数据:
Question (‘123wer’, '今天几号')
Choice (‘123wer’, 1, '1号', false)
Choice (‘123wer’, 2, '2号', false)
Choice (‘123wer’, 3, '3号', true)
Choice (‘123wer’, 4, '4号', false)
你可以创建一个view,用来查询问题和选项的信息。
type是导出数据
如果AnswerCnt=1,为单选,AnswerCnt>1, 多选。