За последние 24 часа нас посетили 105796 программистов и 3017 роботов. Сейчас ищут 1377 программистов ...

Скрипт тестирования

Тема в разделе "PHP для новичков", создана пользователем bFree, 26 окт 2008.

  1. bFree

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

    С нами с:
    17 авг 2008
    Сообщения:
    81
    Симпатии:
    0
    Необходимо наваять скрипт тестирования (для образовательного уч.). Думаю, ибо не приходилось делать
    вот мускул:
    PHP:
    1. 0) Table Themes -> tid, caption, description, range
    2. 1) Table Questions -> qid, theme, question, answers, ranswer, time
    3. 2) Table Users -> uid, login, password, access, class, name, surname, age
    4. 3) Table Results -> rid, user, score, themeid, date
    5. 4) Table Settings -> что угодно
    Грамотно ли составлена таблица? Думаю, из имен полей примерно понятно, зачем они нужны.

    Теперь главный вопрос:
    Я думаю, что всю инфу об ответах на каждый вопрос надо хранить в сессиях и таскать их за собой на каждом вопросе Или надо по другому?

    Можете подсказать алгоритм непосредственно тестирования? С учетом, что порядок вопросов и ответов на них будет рандомный. Как выделить правильный ответ?
     
  2. dAllonE

    dAllonE Guest

    После 2-х часов жесткой отладки что-то ничего хорошего в мозг не лезет, но как вариант:

    Вытаскиваем вопрос:

    [SQL]SELECT question, answers FROM questions WHERE qid NOT IN({СПИСОК id вопросов на которые уже ответили}) ORDER BY RAND()[/SQL]

    Ну если чел уже на все ответил соответственно нам вернется пусто и мы поймем что тест закончен.


    В answers как я понимаю сериализованный массив?

    Я бы пожалуй сделал отедельную табличку для вариантов ответа.

    Алгоритм? В чем именно сложность?