Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Навигация по дереву вопросов (https://javascript.ru/forum/jquery/37913-navigaciya-po-derevu-voprosov.html)

Dimaz 13.05.2013 20:48

Навигация по дереву вопросов
 
Привет всем! Нужно написать скрипт для навигации по дереву вопросов. Структура примерно такая:

В базе данных в таблице ответов есть поле, связывающее ответы с вопросами(т.е. на какой следующий вопрос переключаться, в зависимости от выбранного ответа). Поле содержит идентификатор вопроса. Как лучше сделать? Вывести на страницу сразу все вопросы, или сохранить их в глобальный объект и постепенно выводить на страницу? И как вообще организовать навигацию? Нужно, чтобы пользователь имел возможность вернуться к предыдущим вопросам.

ksa 14.05.2013 08:58

Цитата:

Сообщение от Dimaz
Вывести на страницу сразу все вопросы

А если их будет много? :D

Цитата:

Сообщение от Dimaz
И как вообще организовать навигацию?

Показывать вопросы подгружая их с сервера по мере надобности. Хранить в массиве все загруженые вопросы.

Dimaz 15.05.2013 19:29

Цитата:

Сообщение от ksa (Сообщение 250373)
А если их будет много? :D


Показывать вопросы подгружая их с сервера по мере надобности. Хранить в массиве все загруженые вопросы.

Не слишком ли большая нагрузка будет на сервер? Пользователей планируется много. Ответить на вопрос - секундное дело. Это каждую секунду запрашивать будет. Лучше загрузить все и поместить в глобальный json-массив.
Каждый ответ будет хранить ид следующего вопроса, связанного с этим ответом. Планирую вставлять на страницу вопросы поочередно, т.е. после каждого выбора ответа. Если пользователь решит вернуться назад и выбрать другой ответ, тогда вся структура нарушится и вернуться назад еще раз он не сможет. Вот в чем проблема. Что можно придумать?

Aetae 15.05.2013 22:29

Хранить всю цепочку id, тем более что опрос это какбэ подразумевает.

ksa 16.05.2013 15:34

Цитата:

Сообщение от Dimaz
Не слишком ли большая нагрузка будет на сервер?

А кто её замерял? :)


Часовой пояс GMT +3, время: 01:54.