为每个用户创建随机测试问题的最佳方法

问题描述 投票:1回答:1

解决这个问题的最佳方法是什么?

如果我有一个包含很多问题的问题库,我需要进行一项测试,从该银行获取特定数量的问题,并为每个用户随机化问题。

我要这样做的方法是创建以下表格

银行(将存储银行名称和描述)问题(存储银行的问题,每个问题与具有外键bank_id的银行相关)答案(答案与question_id的每个问题相关)并且有一列可以知道答案是否正确)

我虽然制作新表并将它们称为assigned_questions和assigned_answers,但它们具有相同的问题和答案表内容,但它们是随机的并为每个用户指定。然后在记录用户或学生参加测试的分数后删除问题和答案。

php mysql laravel web
1个回答
0
投票

不要将您的问题复制到新表中。复制很糟糕

您可以从问题表中随机选择问题

例如:

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

© www.soinside.com 2019 - 2024. All rights reserved.