Как лучше написать скрипт теста
Приветствую всех. На сервере в БД, в таблице "Tests", имеется 3 поля: "test_id"(id теста) "questions"(список вопросов, перечисленных через запятую), "answers"(список ответов, перечисленных через запятую). С помощью php-скрипта отправляю эти данные клиенту:
$m_query = mysql_query("SELECT * FROM `tests` WHERE `test_id` = '". $answer_id ."'"); $row = mysql_fetch_array($m_query, MYSQL_ASSOC); echo json_encode($row); Клиенту приходят данные в формате json: {"test_id": "1", "questions": "How are you:, How old are you:", "answers": "ok, bad, 14-18, 18-22"} Чтобы вставить эти данные в форму я преобразую эти строки в массив методом split(','). Пишу запятую в параметре метода, чтобы разделить строку на элементы: var x = data.questions.split(','); var y = data.answers.split(','); Теперь у меня есть 2 переменные, содержащие 2 массива, один с вопросами, другой с ответами. Я хочу, чтобы в браузер выводился сначала первый вопрос и варианты ответов, ему соответствующие. Пользователь выбирает вариант ответа, нажимает кнопку Далее и загружается второй вопрос и варианты ответов к нему. Думаю реализовать все это с помощью цикла for. Но как сделать так, чтобы он выводил не сразу все вопросы и ответы, а только один вопрос и ответы относящиеся к этому вопросу. И еще если цикл будет подгружать следующий вопрос с ответами, меняя значения элементов формы, как сделать, чтобы выбранный пользователем вариант предыдущего вопроса сохранялся. Может создать какой-то скрытый элемент в форме, куда будет записываться id выбранного ответа, после нажатия кнопки Далее и смены вопроса. |
Цитата:
Таки и шли порциями. Текущий вопрос с вариантами ответов... Ответ тестируемого опять шли на сервер, пусть там они и храняться... Потом опять пришлёш результат того тестирования, если нужно. |
Или так как сказал ksa или можно questions и answers сразу возвращать как массив и перебирать циклом each (мы же в ветке jQuery).
|
Часовой пояс GMT +3, время: 00:44. |