X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Написание онлайн-теста
Гость_Royter_*
сообщение 2013-05-09, 12:26
Сообщение #1



Гости





Пишу онлайн тест на php с тремя билетами на выбор, с 5 вопросами. В mysql есть таблица vopros_test, в ней есть поля:
vopros, otvet_one, otvet_two, id_bileta.
Подскажите, как правильно составить sql запрос, чтоб при выборе юзером опреденного билета ему выдавался первый вопрос выбранного билета.
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-05-09, 13:55
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 260
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Royter, а у вас есть поле, означающее порядковый номер вопроса?
Перейти в начало страницы
+Цитировать сообщение
Гость_Royter_*
сообщение 2013-05-09, 15:36
Сообщение #3



Гости





Цитата (Alexander @ 2013-05-09, 14:55)
Royter, а у вас есть поле, означающее порядковый номер вопроса?

Сначала небыло, уже создал. Только как из бд можно вызвать необходимый 1 вопрос 2 билета, если это поле имеет несколько одинаковых идентификаторов. Ведь 1-й вопрос 2-го билета имеет id_vopros 1 и id_bilet 2, также как 1-й вопрос 1-го билета имеет id_vopros 1 и id_bilet 1.

Сообщение отредактировал Royter - 2013-05-09, 15:36
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-05-09, 22:09
Сообщение #4
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 260
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Royter, примерно так:

SELECT ... WHERE `id_bilet`=1 AND `id_vopros` LIMIT 1
Перейти в начало страницы
+Цитировать сообщение
Гость_Quber_*
сообщение 2013-05-10, 8:37
Сообщение #5



Гости





Используйте гугл формы, там уже готово ваше решение
Перейти в начало страницы
+Цитировать сообщение
Гость_Royter_*
сообщение 2013-05-11, 12:00
Сообщение #6



Гости





Цитата (Alexander @ 2013-05-09, 23:09)
Royter, примерно так:

SELECT ... WHERE `id_bilet`=1 AND `id_vopros` LIMIT 1


Alexander, спасибо, помогло.
Еще такой вопрос, как запретить в тесте возвращатся на предыдущий вопрос? Тоесть есть страница, на ней форма ответа первого вопроса, после нажатия кнопки "Ответить" и обработки ответа, ему показывается форма со вторым вопросом, но при нажатии кнопки "Назад" в браузере, можно вернутся назад и дать другой ответ.
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-05-11, 15:17
Сообщение #7
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 260
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Royter @ 2019-08-19 05:20)
но при нажатии кнопки "Назад" в браузере, можно вернутся назад и дать другой ответ.

Никак. Просто при повторном сабмите формы с первым вопросом - показывать ошибку :)
Перейти в начало страницы
+Цитировать сообщение
Гость_Royter_*
сообщение 2013-05-12, 10:20
Сообщение #8



Гости





Цитата (Alexander @ 2013-05-11, 16:17)
Никак. Просто при повторном сабмите формы с первым вопросом - показывать ошибку :)


А не подскажете, как можно определить повторное нажатие кнопки?
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-05-12, 18:13
Сообщение #9
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 260
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Royter, сохраняете где-то в базе информацию о том, как какие вопросы пользователь уже ответил, а на какие - еще нет. Если идет ответ на уже отвеченный вопрос, показываете ошибку.
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0360 сек.    11 запросов    GZIP включен    Сейчас: 2019-08-19, 4:20