代码之家  ›  专栏  ›  技术社区  ›  three3

如何保存当前工作的状态?

  •  1
  • three3  · 技术社区  · 14 年前

    我正在一个用户可以参加测试的网站上工作。我有一个测试区,每个主题有100个问题。如果用户正在进行测试,我希望他们能够保存已经完成的工作,当他们返回时,我希望他们能够从离开的地方继续工作。正在回答的问题是多项选择问题,它们通过选择单选按钮来回答问题,每个单选按钮的值为a、b、c、d或e。我使用php和mysql进行编程和数据库存储。

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

    2 回复  |  直到 14 年前
        1
  •  5
  •   Evernoob    14 年前

    有一个“用户”表和一个“问题”表。

    另一个表“answers”,其中有一个“questions”的外键、“users”的外键和一个名为“answer”的列。

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

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

        2
  •  1
  •   Abe Miessler    14 年前

    这就是我为初稿所想的。

    User
    --------
    UserId
    UserName
    
    Test
    -------
    TestId
    TestName
    
    TestQuestions
    ----------------
    QuestionId
    TestId
    QuestionName
    
    QuestionChoices
    ----------------
    ChoiceId
    QuestionId
    Choice
    
    UserTestAnswers
    -----------
    UserId
    ChoiceId