我正在开发一个用户可以进行测试的网站。我有一个测试区域,每个主题都有100个问题。如果用户正在进行测试,我希望他们能够保存他们已经完成的工作,并且当他们返回时我希望他们能够从他们离开的地方继续工作。正在回答的问题是多项选择题,他们通过选择单选按钮来回答它们,每个单选按钮的值都是A,B,C,D或E.我使用PHP和MySQL进行编程和数据库存储。
我是否需要每个测试的表格,并且有100个列名称,例如1,2,3,4,5,一直到100,当用户保存他们的工作时,它将存储他们已完成的问题数据库?这是一个好方法还是另一种方法呢?
答案 0 :(得分:5)
为“用户”提供表格,为“问题”提供表格。
有另一张表,'回答',带有“问题”的外键,“用户”的外键和一个名为“回答”的列。
当用户回答问题时,请在“答案”表中插入一条记录,其中包含用户ID,问题ID和他们提供的答案。
如果他们还没有回答这个问题,那么这张表中就没有记录了。
答案 1 :(得分:1)
这是我为第一稿草案提出的。
User
--------
UserId
UserName
Test
-------
TestId
TestName
TestQuestions
----------------
QuestionId
TestId
QuestionName
QuestionChoices
----------------
ChoiceId
QuestionId
Choice
UserTestAnswers
-----------
UserId
ChoiceId