У меня есть пара вопросов, хранящихся в базе данных. База данных выглядит следующим образом. Это на самом деле Древо решений: Один вопрос печатается за один раз, затем — в зависимости от ответа — следующий вопрос и так далее. Каждый вопрос связан с предыдущим (ссылка):
id question answers reference condition
01 Are you a woman? 1=yes, 2=no -
02 Do you wear dresses? 1=yes, 2=no 01 1
03 Do you wear ties? 1=yes, 2=no 01 2
04 How often? 1=seldom, 2=often 02 1
Пример: начинается с вопроса №. 01 (без ссылки). Затем я смотрю на вопросы, которые могут возникнуть позже (то есть, они относятся к вопросу № 1). В этом примере вопросов нет. 02 и 03 могут быть следующими. Если ответ был «да», то только вопрос нет. 02 будет показано (условие == 1), в противном случае вопрос №. 03 (условие == 2).
Это работает довольно хорошо. Однако теперь я хотел бы распечатать структуру отверстий дерева решений. Это должно выглядеть примерно так:
Are you a woman?
yes: Do you wear dresses?
yes: How often?
seldom:
often:
no:
no: Do you wear ties?
Кто-нибудь знает, как сделать это наиболее эффективным способом? Одна из моих проблем заключается в том, что «глубина» дерева не фиксирована.
Задача ещё не решена.
Других решений пока нет …