Arios
@Arios

Как хранить ответы пользователей и выводить вопросы в системе тестирования?

Всем привет! Пишу систему тестирования, где хотелось бы хранить ответ пользователя на каждый вопрос, но каким образом сохранять ответы не знаю. Идет в голову, только: создать столбец "user_answers" типа TEXT и записывать туда таким образом ID вопроса || ID ответа, либо ответов через запятую ||| ID вопроса || ID ответов и так далее. Может есть другие варианты?

Каким образом можно выводить вопросы для пользователя и как сохранить выбранный ответ? Ну, сохранять ответ можно после нажатия на кнопку "ответить" выбранный ответ будет записываться в базу так как рассказал выше, а вот как выводить ответы на которые пользователь еще не ответил? Каждый раз проверять столбец user_answers?

P.s. простите за такую формулировку!
  • Вопрос задан
  • 754 просмотра
Решения вопроса 1
Denormalization
@Denormalization
3 таблицы:

questions:
id | question

answers:
id | question_id | answer

answer_user
answer_id | user_id (или question_id | answer_id | user_id)


Когда юзер отвечает, записывает ответ в answer_user.
Обычная many to many связь.

> как выводить ответы на которые пользователь еще не ответил
Достаем все ответы по question_id из answers + join на таблицу anwser_user
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы