Как сохранить состояние текущей работы? - PullRequest
1 голос
/ 09 августа 2010

Я работаю над сайтом, на котором есть тесты, которые могут пройти пользователи.У меня есть тестовая зона с 100 вопросами по каждому предмету.Если пользователь сдает тест, я хочу, чтобы он мог сохранить работу, которую он уже сделал, и когда он вернется, я хочу, чтобы он мог продолжить работу с того места, где он ушел.Ответы на вопросы являются вопросами с несколькими вариантами ответов, и они отвечают на них, выбирая переключатель, и каждый переключатель имеет значение A, B, C, D или E. Я использую PHP и MySQL для программирования и хранения базы данных.

Нужна ли мне таблица для каждого теста и будет иметь 100 имен столбцов, например, 1,2,3,4,5, вплоть до ста, и когда пользователь сохранит свою работу, он сохранит вопросы, которые онзавершили в базе данных?Это хороший метод или это другой способ сделать это?

Ответы [ 2 ]

5 голосов
/ 09 августа 2010

Иметь таблицу для «пользователей» и таблицу для «вопросов».

Иметь другую таблицу «ответы» с внешним ключом для «вопросов», внешним ключом для «пользователей» истолбец под названием «ответ».

Когда пользователь отвечает на вопрос, вставьте в таблицу «ответы» запись с идентификатором пользователя, идентификатором вопроса и предоставленным ответом.

Если ониеще не ответили на вопрос, тогда в этой таблице не будет записи.

1 голос
/ 09 августа 2010

Это то, что я придумал для первого проекта.

User
--------
UserId
UserName

Test
-------
TestId
TestName

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

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

UserTestAnswers
-----------
UserId
ChoiceId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...