如何挽救当前的工作状态?

时间:2010-08-09 15:21:05

标签: php database mysql

我正在开发一个用户可以进行测试的网站。我有一个测试区域,每个主题都有100个问题。如果用户正在进行测试,我希望他们能够保存他们已经完成的工作,并且当他们返回时我希望他们能够从他们离开的地方继续工作。正在回答的问题是多项选择题,他们通过选择单选按钮来回答它们,每个单选按钮的值都是A,B,C,D或E.我使用PHP和MySQL进行编程和数据库存储。

我是否需要每个测试的表格,并且有100个列名称,例如1,2,3,4,5,一直到100,当用户保存他们的工作时,它将存储他们已完成的问题数据库?这是一个好方法还是另一种方法呢?

2 个答案:

答案 0 :(得分:5)

为“用户”提供表格,为“问题”提供表格。

有另一张表,'回答',带有“问题”的外键,“用户”的外键和一个名为“回答”的列。

当用户回答问题时,请在“答案”表中插入一条记录,其中包含用户ID,问题ID和他们提供的答案。

如果他们还没有回答这个问题,那么这张表中就没有记录了。

答案 1 :(得分:1)

这是我为第一稿草案提出的。

User
--------
UserId
UserName

Test
-------
TestId
TestName

TestQuestions
----------------
QuestionId
TestId
QuestionName

QuestionChoices
----------------
ChoiceId
QuestionId
Choice

UserTestAnswers
-----------
UserId
ChoiceId