[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Билеты ПДД
Страницы: 1, 2, 3, 4
Reh
Медведь
Не думаю что это могут вздрючить

А самому билеты зачем придумывать? Они же стандартные. Да и картинки перерисовывать
изврат какойто.
Миша
Цитата (Reh @ 29.12.2015 - 22:26)

1 вопросы
id, name
2 билеты
id, name, pic
3 тесты
id_билет, id_вопрос
4 ответы
id_билет, id_вопрос

В каждом билете по 20 вопросов, всего 40 билетов значит:

1 - Билеты (Эту таблицу можно не делать, т.к. исходное значение не изменится)
id номер билета| описание билета

2 - Вопросы
id | id номер билета | вопрос

3 - Варианты ответов
id | id номер билета | id номер вопроса | правильность ответа (0, 1)

_____________
Принимаю заказы, писать в ЛС
Valick
Медведь, перемудрил.


_____________
Стимулятор ~yoomoney - 41001303250491
Миша
Цитата (Valick @ 29.12.2015 - 22:50)
Медведь, перемудрил.

А как надо?

Вопросы и варианты ответов в одну таблицу не надо засовывать, а первую можно не делать.

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Цитата (Reh @ 29.12.2015 - 20:26)
А чем мне этот топик должен помочь?
Какое отношение он имеет к оргинизации моих таблиц?

Не связывайся. Он уже 12 часов ни с кем не срался, у него ломка. Вот и взывает кого-либо на бой.

Раскладывай по сущностям, потом делай связи.
Какие у нас есть сущности?
Есть билеты, в билетах есть вопросы, в вопросах есть ответы.
Я не понял, что такое тест? Есть 40 билетов, в каждом по 20 вопросов.
Или ты результаты тестирования хочешь хранить в базе?

Значит как минимум:
- таблица билетов
- таблица вопросов
- таблица ответов

Картинки - это контент. Если ты хочешь сделать независимую от приложения базу, то храни картинки в базе.
Если ты адепт того, что под страхом вечного расстрела, картинки в базе хранить нельзя, то ссылки на них в вопросах, а физические файлы картинок на сервере.

Реши, что с картинками, двинем дальше.

_____________
[продано копирайтерам]
Миша

Значит как минимум:
- таблица билетов
- таблица вопросов
- таблица ответов

Мой вариант cool.gif Подойдйт?

_____________
Принимаю заказы, писать в ЛС
Valick
тема была на 15 страниц, не пойму не в коня корм чтоль...

база
CREATE TABLE IF NOT EXISTS `question` (
`q_id` int(11) NOT NULL AUTO_INCREMENT,
`q_quest` varchar(255) NOT NULL,
PRIMARY KEY (`q_id`)
)
CREATE TABLE IF NOT EXISTS `answer` (
`a_id` int(12) NOT NULL AUTO_INCREMENT,
`q_id` int(11) NOT NULL,
`a_answer` varchar(255) NOT NULL,
`a_correct` int(1) NOT NULL,
PRIMARY KEY (`a_id`),
KEY `q_id` (`q_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;


Здесь нет смысла делать отношение многие ко многим (вообще нет смысла это делать в тестах) по отношению вопроса к ответам, а вот один и тот же вопрос может содержаться в нескольких билетах.
поэтому "билет - вопрос" это отношение многие к многим
по хорошему это + еще две таблицы, но у нас номер билета это целое число (что само по себе практически id) поэтому достаточно таблицы связи
nomer | id_q (примари кей на оба поля, ну или отдельный id)


_____________
Стимулятор ~yoomoney - 41001303250491
AllesKlar
Цитата (Медведь @ 29.12.2015 - 20:47)
3 - Варианты ответов
id | id номер билета | id номер вопроса | правильность ответа (0, 1)


id номер билета - не нужно.

Цитата (Valick @ 29.12.2015 - 20:56)
CREATE TABLE IF NOT EXISTS `question` (
`q_id` int(11) NOT NULL AUTO_INCREMENT,
`q_quest` varchar(255) NOT NULL,
PRIMARY KEY (`q_id`)
)
CREATE TABLE IF NOT EXISTS `answer` (
`a_id` int(12) NOT NULL AUTO_INCREMENT,
`q_id` int(11) NOT NULL,
`a_answer` varchar(255) NOT NULL,
`a_correct` int(1) NOT NULL,
PRIMARY KEY (`a_id`),
KEY `q_id` (`q_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

Valick
Как выбрать вопросы для билета №15 ?

_____________
[продано копирайтерам]
Миша
Цитата (AllesKlar @ 29.12.2015 - 22:57)
Цитата (Медведь @ 29.12.2015 - 20:47)
3 - Варианты ответов
id | id номер билета | id номер вопроса | правильность ответа (0, 1)


id номер билета - не нужно.



А это да wink.gif Под машиной весь день пролежал ) Бензина нанюхался

_____________
Принимаю заказы, писать в ЛС
Valick
Цитата (AllesKlar @ 29.12.2015 - 21:57)
Как выбрать вопросы для билета №15 ?

я еще не дописал

_____________
Стимулятор ~yoomoney - 41001303250491
Reh
Цитата
Реши, что с картинками, двинем дальше.

Картинки на сервере, урл в базе

Миша
Цитата (Reh @ 29.12.2015 - 23:03)
Цитата
Реши, что с картинками, двинем дальше.

Картинки на сервере, урл в базе

По моему проще в вопросах, в этой же таблице ставить ссылку на изображение

Либо в тексте вопроса, либо отдельным полем.

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Цитата (Reh @ 29.12.2015 - 21:03)
Картинки на сервере, урл в базе

Тогда путь к картинке - это обычная часть контента вопроса.
Как вариант, можно плейсхолдеры залепить.

"Эта разметка обозначает: {img008}"
а уже в скрипте, ловить {img008} и заменять на путь к img_008.jpg

Но, вот например тут я смотрю http://www.pdd24.com/pdd-onlain
Там для каждого вопроса есть картинка. И для каждого только одна. Если вопрос без картинки, то выводится картинка с текстом "Вопрос без картинки"
Тоже вариант. Тогда в таблице вопросов будет поле img, где будет хранится имя графического файла. Если вопрос без картинки, то в поле img пишется имя прозрачного однопиксельного gif

_____________
[продано копирайтерам]
Reh
Цитата
Я не понял, что такое тест?

Цитата
Или ты результаты тестирования хочешь хранить в базе?


моя логика была такой
1 список всех вопросов
2 список вариантов ответов
3 тест - к какому вопросу какие варианты ответов
4 ответы - у какого вопроса каой правильный ответ

результаты не буду хранить
Reh
Цитата
Если вопрос без картинки, то в поле img пишется имя прозрачного однопиксельного gif

А зачем вообще что то выводить если нет картинки?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.