Показать сообщение отдельно
  #1 (permalink)  
Старый 26.11.2012, 19:04
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Как лучше написать скрипт теста
Приветствую всех. На сервере в БД, в таблице "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 выбранного ответа, после нажатия кнопки Далее и смены вопроса.
Ответить с цитированием