За последние 24 часа нас посетили 19380 программистов и 1604 робота. Сейчас ищут 873 программиста ...

Создание теста. Хранение в базе данных. Множества.

Тема в разделе "PHP для новичков", создана пользователем Teenager, 27 ноя 2010.

  1. Teenager

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

    С нами с:
    17 окт 2010
    Сообщения:
    30
    Симпатии:
    0
    Здравствуйте! В общем я только начинаю изучение php и у меня возник такой вопрос. Нужно создать тест, который хранится в базе данных. Как вы думаете целесообразно и возможно ли сделать так, что ответы будут хранится в одной ячейке для каждого вопроса т.е. типа так:

    [sql]ID VOPROS OTVET PR_OTVET[/sql]



    В OTVET будет заносится множество (или массив) ответов и из него собственного и будут выводится варианты ответов. Это лишает тест фиксированного числа ответов. Жду Вашей помощи. Возможно так всегда и делают))), но информации по форуму я не нашел.



    p.s. igordata если нет полезной информации в помощь лучше ничего не пиши.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Teenager
    Делается две таблицы:
    questions
    Код (Text):
    1. id (int)
    2. title (varchar)
    3. question (text)
    и другая таблица
    answers
    Код (Text):
    1. id (int)
    2. quid (int)
    3. answer (text)
    Затем делается выборка ответов и/или вопросов с помощью объединения (JOIN).
     
  3. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    нарисовать хотел тоже самое, не успел
     
  4. Teenager

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

    С нами с:
    17 окт 2010
    Сообщения:
    30
    Симпатии:
    0
    Ответы хранятся в SQL:
    answer

    ? Их несколько. допустим от 2 до 5. хранить как? т.е. получается так есля я правильно вас понял?

    TABLE ANSWERS
    [sql]
    ID QUID ANSWER
    1 3206 answer1
    2 3206 answer2
    3 3206 answer3
    4 3918 answer1
    5 3918 answer2
    6 3918 answer3

    [/sql]
     
  5. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Teenager
    Да.
    QUID - идентификатор внешней записи, т.е вопроса, которому принадлежит овет.
     
  6. Teenager

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

    С нами с:
    17 окт 2010
    Сообщения:
    30
    Симпатии:
    0
    Я понял. Ну в данном случае получается что будет хранится только один ответ. Вопрос остаётся. Можно ли хранить в одной ячейке все ответы к одному вопросу, или нужно забивать в разные и управляя идентификатором выводить нужный??
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Teenager
    почему один то? сам же выше показал, что не один
    ответы пользователей или варианты ответов на вопросы?
    можно сериализовать массив с ответами в ячейку, но зачем? и так все прекрасно должно получиться
     
  8. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Всё зависит от задачи.
    Мозг надо ебать не тем, как можно наштамповать кучу вариантов, а описать задачу и ебать мозг только её решением. А его мы уже дали.
     
  9. Teenager

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

    С нами с:
    17 окт 2010
    Сообщения:
    30
    Симпатии:
    0

    Ответы пользователей как таковые хранить не нужно, так как будут использоваться радиокнопки или чекбоксы. Извиняюсь за непонимание, но блядь ))) нужно избавится от фиксированного числа ответов в тесте. Отводить под каждый вариант своё поле есть нехорошо. есть вопрос и есть допустим 5 вариантов ответа. че каждый вариант ответа хранить в отдельной записи???***????