За последние 24 часа нас посетили 22763 программиста и 1208 роботов. Сейчас ищут 689 программистов ...

Создание скрипта вариантного теста знаний.

Тема в разделе "PHP и базы данных", создана пользователем alex-777, 12 июл 2019.

Метки:
  1. alex-777

    alex-777 Активный пользователь

    С нами с:
    11 апр 2019
    Сообщения:
    33
    Симпатии:
    0
    Всем привет,

    Собственно нужно написать скрипт вариантного теста знаний. То есть, есть вопрос и несколько вариантов ответов, один правильный. Возможны несколько вариантов, например

    1. I ___ a student.
    - is
    - am
    - are
    Вопрос в том, как хранить в MySQL вопрос. Простите за тавтологию. В первом случае хранить, как есть. Но если вариант вопроса с полем для ввода текста или с select для выбора варианта, то не представляю, как организовать запись и хранение в базе для двух следующих вариантов.

    Код (Text):
    1.     <form action="" method="post">
    2.         <p>What&nbsp;&nbsp;
    3.         <select name="q1">
    4.           <option value="are you">are you</option>
    5.           <option value="do you">do you</option>
    6.           <option value="you do">you do</option>
    7.           <option value="is you">is you</option>
    8.         </select>
    9.         &nbsp;&nbsp;like?
    10.         <p><br><p>My name&nbsp;&nbsp;
    11.         <input type="text" name="q3" value="">
    12.         &nbsp;&nbsp;Alex.
    13.         <p>
    14.         <input type="submit" name="submit" value="Check">
    15.     </form>
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Варианты ответов храните в отдельной таблице. Привязывайте их к вопросу по id вопроса. Иногда для вариантов ответов используют групповой ключ из id вопроса и номера варианта ответа. При этом сами вопросы можно хранить в этой же таблице с нулевыми номерами.
     
  3. alex-777

    alex-777 Активный пользователь

    С нами с:
    11 апр 2019
    Сообщения:
    33
    Симпатии:
    0
    Это понятно. Не понятно как хранить вопрос для 2 и третьего типов вопросов. Типа

    I <выпадающий список> a student.

    Или

    I <поле для ввода> a student.

    Делить вопрос на 3 части и одна из них будет местом для списка или текстового поля? Или вставлять что-то прямо в текст и потом при выводе заменять?

    То есть в базе храним вопрос в виде
    I [select] a student.

    Варианты ответов
    is, am, are

    А при выводе вопроса заменяем [select] на элемент select с вариантами ответов.
     
    #3 alex-777, 12 июл 2019
    Последнее редактирование: 12 июл 2019
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Селект тут зачем? Это те же радиокнопки/чекбоксы, только сложнее психологически. Для типа с явным вводом ответа варианты вообще не нужны ;)
    --- Добавлено ---
    Я конечно все понимаю. Но обычно делают проще:
    Иначе вам в тексты вопросов придется шорткоды внедрять. И еще раз: технологичнее – не всегда значит проще психологически ;)
     
  5. alex-777

    alex-777 Активный пользователь

    С нами с:
    11 апр 2019
    Сообщения:
    33
    Симпатии:
    0
    Вот хотят разнообразие. Один вопрос - варианты ответов радиокнопки, другой с выпадающим список, третий - простой ввод.