最好将可能的答案存储在单独的表格中。这使您可以为每个问题提供任意数量的答案,而不仅仅是4.它还允许问题具有不同数量的答案。如果您有多个测验,您可能还需要一个测验表。
Quizes:
id
name
Questions:
id
quiz
prompt
Answers:
id
question
prompt
QuizResult (someone taking a quiz)
id
quiz
// other information about the quiz taker, possibly including the time
现在正确的答案变得更加棘手。我喜欢这里的较高的实现:
每个问题都有一个值,每个答案都有价值
系统最近,我和你一起工作可以分配的每个问题,每个答案的点值。不正确的答案经常得到0,正确的答案得到了全额。您也可以使用此方法获得部分正确的答案。这是我想要的方法。
你可以去,并说每一个问题是值得10分,或者你可以分配不同的权重不同的问题:
Questions:
id
quiz
prompt
value (you can make this question worth more or less)
Answers:
question
prompt
value (you can make this answer worth more or less)
Store中的答案表
更简单的正确答案(但不太健壮)的解决方案是简单地说在Answers表中哪个答案是正确的。
Answers:
question
prompt
is_correct
Store中问题表
正确的答案,我不会推荐它。当你创建一个问题时,直到你插入一个问题才会有正确的答案。这意味着至少有3个查询才能正确提出问题。如果你使用外键依赖,这将很快变得烦人。
+1但要清楚的是,应该在'Answers'表中的列中标记正确的答案,而不是在'QuizResult'表中。 – 2010-05-02 18:40:36
+1是一个很好的答案,好东西。 – Rog 2012-02-28 00:46:46