我正在创建一个小小的在线测验/游戏。我有一个users
- 表,其中包含唯一的自动增量id
,username
字段,password
字段和ip
字段(来自此处)创建)。
处理登录和类似的东西。
然后我需要跟踪用户进程。用户必须完成多个任务或级别。但是你希望看到它。
每项任务的要求如下:
我要问的是基本上我应该如何构建我的表,以便尽可能顺利地工作,并尽可能少地讨厌恼人的SQL查询和代码。
我是否应该为每个任务创建一个表,每行绑定一个用户名,并且字段对应上面的列表?或者一个大表绑定到用户名,表示哪个任务和所有字段对应上面的列表?
我不确定,这就是我要问的原因。
值得一提的是:我现在拥有的任何东西都不是一成不变的,所以我可以改变你想要的任何东西。
非常感谢任何帮助和/或建议。
提前致谢。
编辑: 我还将为每个任务创建一个表:tasks(id,name,description,finish_message)
由此我需要有一个新的表结构,用于类似于我上面描述的用户和任务的任务,但是对于任务和测试。
答案 0 :(得分:1)
我没有完全回答你的问题,但我认为以下结构可能会对你有所帮助:
1. users(userid, username, password, ipaddress)
2. tasks(taskid, task_description,...)--any other details you want
3. task_attempted(userid, taskid, last_successful_attempt, shortest_successful_attempt, last_attempt, last_failed_testid);
4. tests(testid, taskid, ...)--other details
请澄清您的第三项要求:
Keep track of where he failed
如果我没有弄错你,用户可能无法在成功完成当前测试之前继续进行下一个任务测试,因此您可以为test_id添加一个字段,以跟踪特定任务中的失败test_id。