За последние 24 часа нас посетили 17199 программистов и 1686 роботов. Сейчас ищет 1251 программист ...

Онлайн тест средствами php+mysql.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Prayse, 19 янв 2014.

  1. Prayse

    Prayse Новичок

    С нами с:
    19 янв 2014
    Сообщения:
    2
    Симпатии:
    0
    Ребят помогите пожалуйста! Есть задача написать онлайн тест (вопросы берутся из бд). Вот часть кода http://pastie.org/8646017. Суть проблемы в том, что ИЗ ВСЕХ радио (их там порядка 30, по 4 на каждый из вопросов) я могу выбрать только один! Не могу понять что не так. И тогда сразу другой вопрос, как сделать чтоб обработчик увидел все выбранные пользователем радио? Подскажите пожалуйста!
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Popov style?

    У них name одинаковый.

    Прочитай про html checkbox
     
  3. Prayse

    Prayse Новичок

    С нами с:
    19 янв 2014
    Сообщения:
    2
    Симпатии:
    0
    С неймами понял ошибку. Сделал так http://pastie.org/8647187. Теперь выбираются нормально. Но как теперь в обработчик передать выбранные значения?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Блин, кто так упорно учит писать do..while для работы с базами данных? Это прямо какая-то эпидемия! У вас же наверняка лишняя непонятная строка добавляется, когда $myrow ещё не инициализирован при первой итерации. Надо писать:
    Код (PHP):
    1. while ($myrow = mysql_fetch_array ($result)) {
    2.     /* Тело цикла */
    3. }
    4.  
    do..while - это вообще конструкция, которую следует использовать как можно реже. Поскольку это плохо, когда условие цикла находится на 40 строчек ниже его начала.

    По поводу вашего вопроса - http://php.ru/manual/tutorial.forms.html. И используйте чекбоксы (флажки)! Radiobuttons (переключатели) - для случая, когда выбрать можно только один вариант из нескольких предложенных
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Это Попов учит.
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    может по условию требуется чтобы цикл выполнялся хотя бы один раз, в этом случае лучше его использовать
     
  7. imoisey

    imoisey Активный пользователь

    С нами с:
    27 янв 2014
    Сообщения:
    113
    Симпатии:
    0
    определяю Попова по $myrow и do ... while
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    а чем плох тот код. Хотелось бы узнать ваше мнение?
     
  9. imoisey

    imoisey Активный пользователь

    С нами с:
    27 янв 2014
    Сообщения:
    113
    Симпатии:
    0
    Название переменной myrow ничем не плохо, это ваше личное дело, но я считаю, что имя переменной должно иметь смысл.


    По поводу цикла. Здесь серьезнее. Отличие do ... while от while в том, что в do ... while ВСЕГДА 1 раз будет выполняться тело цикла, т.е если даже условие будет ложное, тело выполнится. Отсюда могут быть ошибки.
     
  10. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Насчет этого в курсе)
    согласен