Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2011, 16:43   #1
DeScrew
 
Регистрация: 15.04.2011
Сообщений: 8
Стрелка Работа в MySQL

Как создать простой тест, например с 3мя вариантами ответа (Radio Button), занести вопросы и ответы в БД, считывать с помощью php, подсчитывать правильные ответы и выводить сумму на конечной страничке...??
DeScrew вне форума Ответить с цитированием
Старый 03.05.2011, 17:30   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Если совсем просто -
1. делаем табличку с полями "ай-ди теста", "Номер вопроса", "Вопрос", "ответ номер раз", "... номер два" ..., "правильный ответ номер"
2. В скрипте теста вытаскиваем запросом из неё вопросы - ответы, суём в форму с сабмитом.
3. В скрипте результата вытаскиваем номера вопросов с номерами правильных ответов из таблички и те ответы, которые были даны тестируемым, из $_POST-а.
4. Сравниваем их, показываем результат.
5. Бесконечно усложняем процедуру, так как оказыется, что результаты теста надо сохранять, мы хотим выводить вопросы постранично, и вообще желаем базу во второй нормальной форме как минимум
graymaster вне форума Ответить с цитированием
Старый 07.05.2011, 15:07   #3
DeScrew
 
Регистрация: 15.04.2011
Сообщений: 8
По умолчанию

Здравствуйте, а вы можете мне помочь в том, что вы написали?
Мне просто надо cделать курсовую работу, а я не понимаю работы с БД, и не знаю как связать с сайтом моим...

Если вам не трудно и можете помочь... ссылка на скачивание моего локального сайта.
DeScrew вне форума Ответить с цитированием
Старый 08.05.2011, 16:57   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
Сообщение

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

Могу посоветовать только,в какую сторону копать.
Подход у вас изначально не правильный.
Если хотите проще, то не стоит делать каждый вопрос на отдельной странице, если только это не необходимо.

В любом случае, надо сделать 3 страницы. Данные передаются от одной страницы к другой.
1. Заглавную, где пользователь вводит имя-пароль (и выбирает тест)
2а. Страница с вопросами. Список вопросов выбирается из базы данных, рисуется обычная форма, с передачей пользователя/пароля дальше, и списком ответов.
2б. Страница с вопросом. Одним. Передавать надо номер прошлого вопроса (если его нет, то значит должен быть первый), пользователя и пароль тогда придётся запихать в сессию (читайте session на php.net)
Ответ отправляется во вторую табличку, где мы сохраняем все ответы этого пользователя на этот тест, либо в сессию, опять же. Либо кривой метод накопления ответов в каждой странице (ответы всех предыдущих вопросов передаются вместе с ответом на текущий) /* да-да, и такое я тоже видел */ После последнего вопроса перебрасываем на 3-ю страницу.
3. Страница, считаем кол-во правильных ответов выдаём результат.

Что потребуется:
Табличку/таблички в БД нарисовать достаточно просто, хотя бы в любой визуальной среде, а-ля NaviCat или сам MySQL (у них на сайте по-моему есть ссылка на бесплатный ГУЙ).
Почитать, что и как делают операторы INSERT и SELECT.

в PHP надо знать, как связывать страницы html<->php тэгами в нужных местах, какой-либо цикл (того же "фор"-а вполне хватит за глаза), и несколько функций работы с БД:
PHP: mysql_connect - Manual
PHP: mysql_num_rows - Manual
PHP: mysql_query - Manual
PHP: mysql_fetch_row - Manual
PHP: mysql_affected_rows - Manual
PHP: mysql_close - Manual
graymaster вне форума Ответить с цитированием
Старый 11.05.2011, 20:12   #5
DeScrew
 
Регистрация: 15.04.2011
Сообщений: 8
Хорошо

Цитата:
Сообщение от graymaster Посмотреть сообщение
Особо помочь - нет времени, самому справляться надо, курсовые писать, ну, или платить.
Я за деньги работать тут тоже не буду, потому что как раз-таки тут отдыхаю от работы , но во фрилансе наверняка найдутся люди, с радостью готовые помочь за определённое вознаграждение.

Могу посоветовать только,в какую сторону копать.
Подход у вас изначально не правильный.
Если хотите проще, то не стоит делать каждый вопрос на отдельной странице, если только это не необходимо.

В любом случае, надо сделать 3 страницы. Данные передаются от одной страницы к другой.
1. Заглавную, где пользователь вводит имя-пароль (и выбирает тест)
2а. Страница с вопросами. Список вопросов выбирается из базы данных, рисуется обычная форма, с передачей пользователя/пароля дальше, и списком ответов.
2б. Страница с вопросом. Одним. Передавать надо номер прошлого вопроса (если его нет, то значит должен быть первый), пользователя и пароль тогда придётся запихать в сессию (читайте session на php.net)
Ответ отправляется во вторую табличку, где мы сохраняем все ответы этого пользователя на этот тест, либо в сессию, опять же. Либо кривой метод накопления ответов в каждой странице (ответы всех предыдущих вопросов передаются вместе с ответом на текущий) /* да-да, и такое я тоже видел */ После последнего вопроса перебрасываем на 3-ю страницу.
3. Страница, считаем кол-во правильных ответов выдаём результат.

Что потребуется:
Табличку/таблички в БД нарисовать достаточно просто, хотя бы в любой визуальной среде, а-ля NaviCat или сам MySQL (у них на сайте по-моему есть ссылка на бесплатный ГУЙ).
Почитать, что и как делают операторы INSERT и SELECT.

в PHP надо знать, как связывать страницы html<->php тэгами в нужных местах, какой-либо цикл (того же "фор"-а вполне хватит за глаза), и несколько функций работы с БД:
PHP: mysql_connect - Manual
PHP: mysql_num_rows - Manual
PHP: mysql_query - Manual
PHP: mysql_fetch_row - Manual
PHP: mysql_affected_rows - Manual
PHP: mysql_close - Manual


Спасибо большое за советы, и уделенное мне время
DeScrew вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
статья - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 1 24.07.2013 19:28
Работа с MySQL в С++ с использованием библиотеки mysql++ oleg kutkov Visual C++ 5 30.12.2010 16:40
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
Работа с MySQL igroman PHP 10 29.09.2008 16:15