Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2012, 15:52   #1
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
Восклицание обработчик кнопок

Привет! Делаю он-лайн тест на php. Вопросы хранятся в базе со следующей структурой: id, text (текст вопроса), true (номер правильного ответа), answers (варианты ответа, форма с четырьмя радио кнопками). Вывожу на странице с помощью кода:
PHP код:
<?php 
include ("blocks/db.php");
$result mysql_query ("SELECT id, text, true, answers FROM test"$db);
$myrow mysql_fetch_array ($result);
do {
printf ("  <table  align='center'>
          <tr>
          <td>%s</td>
          </tr>
          <tr>
          <td>%s</td>
          </tr>
          </table><br><br> "
$myrow["text"], $myrow["answers"]);}
while (
$myrow mysql_fetch_array ($result));
?>
Есть кнопка
Код HTML:
<input name="check" type="button" value="проверить" />
Помогите пожалуйста как сделать обработчик этой кнопки? Чтобы проверялись ответы на вопросы и выдавались результаты.
Nastya_cutie вне форума Ответить с цитированием
Старый 07.05.2012, 16:20   #2
frommars
Форумчанин
 
Регистрация: 02.07.2011
Сообщений: 144
По умолчанию

Код:
<form ....
frommars вне форума Ответить с цитированием
Старый 08.05.2012, 12:34   #3
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

код формы ответов:
Код HTML:
<form name="a1">
    <input name="1" type="radio" value="1"> 1) 1<br>
    <input name="1" type="radio" value="2"> 2) 2<br>
    <input name="1" type="radio" value="3"> 3) 10<br>
    <input name="1" type="radio" value="4"> 4) 11
</form>
Nastya_cutie вне форума Ответить с цитированием
Старый 09.05.2012, 00:34   #4
moshkin_ura
Web Studio "БЕЛКО"
Форумчанин
 
Аватар для moshkin_ura
 
Регистрация: 15.08.2011
Сообщений: 180
По умолчанию

Попробую написать, но за деньги, прошу в ЛС...
Есть три способа отвечать на вопросы: сказать необходимое, отвечать с приветливостью и – наговорить лишнего
Плутарх - (ок. 46 — ок.120) - древнегреческий писатель, историк
moshkin_ura вне форума Ответить с цитированием
Старый 11.05.2012, 08:05   #5
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

подскажите хотя бы какой алгоритм должен быть,пожалуйста!!
Nastya_cutie вне форума Ответить с цитированием
Старый 11.05.2012, 08:42   #6
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

кнопка одна для всего теста, т.е. для всех записей, которые из БД вытягиваются?
Minus_yu вне форума Ответить с цитированием
Старый 12.05.2012, 11:37   #7
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

да, кнопка одна для всех записей из бд, в конце теста.
Minus_yu, это тот самый тест, для которого помог мне с подсказкой)

Последний раз редактировалось Nastya_cutie; 12.05.2012 в 12:11.
Nastya_cutie вне форума Ответить с цитированием
Старый 12.05.2012, 12:23   #8
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

Забыла отметить, что есть вопросы, в которых ответ не выбирается, а вводится в текстовое поле:
Код HTML:
<br>Ответ: <input name="answer" type="text" />
Для радио-кнопок в строке true таблицы - номер правильного ответа (не знаю может лучше сам ответ), для текстового поля - сам ответ. Может лучше для второго типа вопросов другую кнопку написать? Или можно одной все обработать?

Последний раз редактировалось Nastya_cutie; 12.05.2012 в 12:29.
Nastya_cutie вне форума Ответить с цитированием
Старый 12.05.2012, 13:46   #9
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

т.е. получается примерно вот такая картина...

Код HTML:
<form name="a1">
    <input name="1" type="radio" value="1"> 1) 1<br>
    <input name="1" type="radio" value="2"> 2) 2<br>
    <input name="1" type="radio" value="3"> 3) 10<br>
    <input name="1" type="radio" value="4"> 4) 11
</form>

<form name="a1">
    <input name="1" type="radio" value="1"> 1) 1<br>
    <input name="1" type="radio" value="2"> 2) 2<br>
    <input name="1" type="radio" value="3"> 3) 10<br>
    <input name="1" type="radio" value="4"> 4) 11
</form>

<form name="a1">
    <input name="1" type="radio" value="1"> 1) 1<br>
    <input name="1" type="radio" value="2"> 2) 2<br>
    <input name="1" type="radio" value="3"> 3) 10<br>
    <input name="1" type="radio" value="4"> 4) 11
</form>

<input name="check" type="button" value="проверить" />
мне кажется, это не будет работать, т.к. надо чтобы либо была одна общая для всех фопросов теста форма, либо кнопка была внутри каждой формы, либо javascript'ом кликом по одной кнопке отправлять данные из всех форм (тут могу ошибаться, кто-нибудь исправит - если ошибаюсь)...
Minus_yu вне форума Ответить с цитированием
Старый 12.05.2012, 15:23   #10
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

А что если осуществлять вывод ответов таким образом:
PHP код:
//выводим сам массив теста 

foreach ($myrow as $key => $value){ 
    echo 
"<table  align='center'> 
          <tr> 
          <td>"
.$value['text']."</td> 
          </tr> 
          <tr> 
          <td><form name='answers'><input name='1' type='radio' value='1'>"
.$value['answer1']."<br><input name='1' type='radio' value='1'>".$value['answer2']."</form></td> 
          </tr> 
          <tr> 
          <td><div id=\"demo"
.$key."\"> 
        <h3>Подсказка</h3> 
        <div> 
            <p>"
.$value['help']."</p> 
        </p> 
    </div></td> 
          </tr> 
          </table><br><br> "


Получается одна общая форма.
В таблице хранить ответы не в одной ячейке, а каждый в своей. (т.е. вместо answers - answer1, answer2, answer3, answer4)
Тогда будет два цикла вывода вопросов: для части с ответами radio и для части с ответами text. И две кнопки проверки соответственно.

Последний раз редактировалось Nastya_cutie; 12.05.2012 в 15:27.
Nastya_cutie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик OnClick у массива кнопок MyLastHit Общие вопросы Delphi 15 18.05.2011 11:33
Обработчик прерывании Сметуська Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 14.05.2011 23:05
Обработчик ошибок. DennerV Общие вопросы Delphi 11 12.08.2010 14:05
Обработчик прерывания Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 16 04.12.2009 19:00
Обработчик ошибок XPAiN Microsoft Office Excel 3 21.04.2008 09:30