我正在用PHP构建一个问答游戏,其中向用户呈现用户需要在15分钟内准确回答的问题。在这15分钟内,该问题将被显示为“采取”#39;给所有其他用户。如果用户在15分钟内未能解决问题,那么所有用户都可以再次使用该问题。
我构建了一个db结构:
tbl_Question
pkQuestionId
question
tbl_UserQuestion
pkUserQuestionId
fkQuestionId
fkUserId
timeStamp
tbl_User
pkUserId
我尝试的方法是在tbl_UserQuestion
中插入记录,如果用户想要解决它,带有时间戳。然后从tbl_Question
中获取tbl_UserQuestion
以内的所有问题。
如果初始用户未能在15分钟内解决问题,我就会坚持如何向其他用户展示问题。
答案 0 :(得分:0)
您可以在userQuestion表中添加一个位标志以确定问题是否已解决,然后在您的查询中查看哪些问题仍可供其他用户使用,您会看到是否存在没有问题的用户问题。得到回答(0)并且自时间戳开始超过15分钟。您还需要确保之后没有人回答。如果你看到那个案子,那么答案就不会在15分钟内完成。您只需要在15分钟内更新该记录就可以回答(1),然后您就会知道该问题不再可用。另一种选择是如果用户失败,只删除userQuestion表中的记录(除非你想知道它们失败了)
希望这是有道理的。