为每个用户创建随机测试问题的最佳方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为每个用户创建随机测试问题的最佳方法相关的知识,希望对你有一定的参考价值。
解决这个问题的最佳方法是什么?
如果我有一个包含很多问题的问题库,我需要进行一项测试,从该银行获取特定数量的问题,并为每个用户随机化问题。
我要这样做的方法是创建以下表格
银行(将存储银行名称和描述)问题(存储银行的问题,每个问题与具有外键bank_id的银行相关)答案(答案与question_id的每个问题相关)并且有一列可以知道答案是否正确)
我虽然制作新表并将它们称为assigned_questions和assigned_answers,但它们具有相同的问题和答案表内容,但它们是随机的并为每个用户指定。然后在记录用户或学生参加测试的分数后删除问题和答案。
答案
不要将您的问题复制到新表中。复制很糟糕
您可以从问题表中随机选择问题
例如:
SELECT question FROM questions
INNER JOIN answers ON answers.question_id = questions.answer_id
ORDER BY RAND()
LIMIT 10
更多随机选择:https://stackoverflow.com/a/12870681/3093731
以上是关于为每个用户创建随机测试问题的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章