По сути, вы хотите сохранить дерево решений в базе данных.Вы хотели бы сохранить каждый вопрос как узел и, в интересах нормализованной базы данных, сохранить ребра в отдельной таблице, относящейся к вопросам, которые зависят от других вопросов (направленные ребра), и идти соответствующим образом.
Редактировать: простой дизайн может быть две таблицы: вопросы и края.Вопросы просто имеет id
и question text
.Края могут быть answered_question_id
, next_question_id
и answer
.Первая таблица не требует пояснений.Во второй таблице указано, что если на вопрос answered_question_id
задан и дан ответ с чем-либо, равным или совпадающим с answer
, перейдите к вопросу next_question_id
далее.