@jonghi

Реализация проекта поэтапной диагностики, как лучше?

Добрый вечер, подскажите как можно быстрее и удобнее сделать диагностику с поэтапным выявлением проектом.
Примерно как это будет выглядеть:

60f6fcb844416435085682.png

P.S. сильно не бейте, я не особо программист.
  • Вопрос задан
  • 559 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
Вроде бы, тут древовидная структура описывает все пути. Несколько вопросов в корне, затем идёт, видимо, ветвление. Описать такую можно списком, где у элемента есть ссылки на родителя и на дочерние элементы.
Что-то типа
const knowledge = [
  {id: "0", title: "Как начать пользоваться сервисом", description: "", prev: null, next: ["0.0", "0.1" ]},
    {id: "0.0", title: "Упрощенная инструкция", description: "для новых пользователей", prev: "0", next: []}
    {id: "0.1", title: "Продвинутая", description: "для клиентов, чьи познания больше", prev: "0", next: []},
  {id: "1", title: "Пользуется ПК", description: "", prev: null, next: ["1.1", ]},
  {id: "2", title: "Браузер Google Chrome", description: "", prev: null, next: ["2.1", ]},
  {id: "3", title: "Версия последняя", description: "", prev: null, next: ["3.1", ]},

];

Состояние страницы характериуется текущим активным элементом: показан он и возможные дальнейшие пути, и известно, куда вернуться шаг назад. Если в один вопрос можно прийти несколькими путями, надо запоминать в массиве пройденный путь, и тогда шаг назад брать из него.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Aricus
Есть два варианта. Первый - воспользоваться каким-нибудь конструктором квиза, ведь, по сути, это он. Второй - прописать всё ручками.
Каждая кнопка - это post-форма, можно на ту же страницу. В hidden-поле нужно записать ответ, а номер стадии лучше передать в url (чтобы можно было вернуться к предыдущей стадии просто по ссылке). Сама кнопка - submit. Ответы на прошлые вопросы лучше записывать в cookie. В зависимости от этих данных формируются новые формы. А в конце вместо форм - конечные результаты.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы