我有一个应用程序(更可能是一个测验应用程序),我在 MySQL 数据库中保存了我所有的 1000 个测验,当用户请求一个问题时,我想从这个表中检索一个随机问题,我可以使用 RAND 轻松地做到这一点() function in MySQL.. 我的问题是,我不想向用户提出相同的问题两次或更多次,我怎样才能记录检索到的问题?我是否必须为每个用户创建表?这不会增加加载时间吗??请帮助我,任何帮助都会帮我一个大忙..
-问候
最佳答案
如果您需要的时间很短,请为此使用用户的 $_SESSION
。
如果您需要长期(比如明天,而不是问相同的问题)- 您必须为 usersToQuestions
创建额外的表,您将在其中存储用户 ID 和问题已经询问过用户。
在这两种情况下检索问题都需要一个简单的 IN 条件:
SELECT * FROM questions
WHERE id not IN ('implode(",", $_SESSION["asked"])')
SELECT * FROM questions
WHERE id not IN (
SELECT question_id FROM questions2users WHERE userid = 123
)
关于php - MySql -- 如何记录使用过的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010295/