48646 (Разработка программы генерации тестов из базы данных на языке РНР), страница 2
Описание файла
Документ из архива "Разработка программы генерации тестов из базы данных на языке РНР", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48646"
Текст 2 страницы из документа "48646"
Глава 2. Практическая реализация приложения
Генератор тестов представляет собой веб-приложение, генерирующее из базы данных вопросы и ответы к ним, и представляющее их пользователю в виде тестовых заданий.
При запуске приложения, показывается название программы и кнопка-ссылка «Начать». После нажатия этой кнопки начинается сам тест.
При нажатии кнопки «Начать» открывается новая страница, на которой отображаются вопросы, выбранные из базы данных, и по четыре варианта ответа к каждому вопросу. Вопросы и ответы к ним располагаются последовательно друг под другом. Выбор варианта ответа производится кликом мыши. После выбора ответов ко всем вопросам пользователь должен нажать на кнопку «Проверить», после чего программа подсчитает количество правильных ответов и выведет результаты на экран.
В Базе данных хранится две таблицы: таблица вопросов «Vopr» и таблица ответов к ним – «Otv». Вопросы в базе данных разбиты на блоки, по три вопроса в каждом, каждый следующий блок содержит более сложные вопросы, чем предыдущий.
Таблица вопросов содержит следующие поля: ID – идентификационный номер вопроса; Vopros – формулировка самого вопроса; Block – номер блока, к которому принадлежит вопрос.
Таблица ответов содержит поля: ID – идентификационный номер ответа; Otvet – формулировка ответа; ID_vopr – номер вопроса, к которому относится ответ; Znach – значение истинности ответа, может принимать два значения: T(true) – ответ является верным, F(false) – не верный ответ.
Значения хранящиеся в таблицах можно посмотреть в приложении 1.
Веб-приложение состоит из трех html-страниц: главная, тестовая и страница проверки.
Главная страница, содержит приветственное слово и кнопку-ссылку для перехода на следующую страницу и начала теста.
Код страницы:
Генератор тестов :: Главная
Главная
Пожалуйста, нажмите на кнопку, чтобы начать.
Начать
Графическое представление (интерфейс пользователя):
Тестовая страница – страница, содержащая код на языке РНР, который непосредственно и генерирует вопросы из БД и ответы к ним, а также выводит вопросы с ответами на экран.
Рассмотрим РНР код:
ERROR_REPORTING(E_ALL & ~E_NOTICE & ~E_WARNING);
$mysql_host="localhost";
$mysql_user="tanushka";
$mysql_password="******";
$mysql_database="Gener";
/* Соединяемся, выбираем базу данных */
$link = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die("Could not connect:".mysql_error());
mysql_select_db("$mysql_database") or die("Could not select database");
echo "";
$num = 1; // переменная, отвечающая за номер вопроса;
while ($num<=5) {
$query = "SELECT * FROM Vopr WHERE Block='$num'";
$q=@mysql_query ($query);
if(!$q) break;
while ($row=@mysql_fetch_array($q))
{$quest[]=$row;}
$current=$quest[rand(0,count($quest)-1)];
echo "
";
echo $current['Vopros'];
echo "";
echo "
value='".$current['ID']."'>";
$query2= "SELECT * FROM Otv WHERE
ID_vopr='".$current['ID']."'";
$a=@mysql_query ($query2);
while ($arow=@mysql_fetch_array($a))
{ echo "
".$arow ['Otvet']."
";}
echo "
";
unset($quest);
$num++; // переходим к следующему вопросу
}
echo "";
echo " ";
/* Закрываем соединение */
mysql_close($link);
?>
Страница проверки – страница, содержащая РНР код, сравнивающий правильный ответ с ответом пользователя, если они совпадают, пользователю начисляется балл.
РНР код:
if (!isset ($_POST['q'])||!isset($_POST ['a']))
exit(0);
$q=$_POST['q'];
$a=$_POST['a'];
$ball=0;
$mysql_host="localhost";
$mysql_user="tanushka";
$mysql_password="******";
$mysql_database="Gener";
/* Соединяемся, выбираем базу данных */
$link = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die("Could not connect:".mysql_error());
mysql_select_db("$mysql_database") or die("Could not select database");
for ($i=1; $i<=count($q); $i++)
{$query="SELECT * FROM Otv WHERE ID_vopr='".$q[$i]."' AND
Znach='T'";
$p=@mysql_query($query);
$row=@mysql_fetch_array($p);
$answer = $row['ID'];
if($a[$i]==$answer) $ball++;
unset($query,$p,$row);
}
echo "Ваш балл ".$ball." Из ".count($q).";
?>
Заключение
В настоящее время в нашу жизнь широко внедряются информационные технологии. На сегодняшний день, наверное, не осталось такой области, где бы они ни применялись. Компьютеры является неотъемлемой частью работы людей. Они используются в школах и университетах.
В данном курсовом проекте был создан: “Генератор тестов на языке РНР”. Он представляет собой веб-приложение, которое выбирает произвольным образом 5 вопросов и ответов к ним из базы данных, выводит их на экран и проверяет, сколько правильных ответов дал пользователь.
Пользовательский интерфейс приложения делает его простым, понятным и доступным.
Данное веб-приложение может быть усовершенствовано до полноценной системы тестового контроля знаний пользователей. Его пользовательский интерфейс может быть улучшен за счет разделения списка вопросов на страницы, т.е. каждый новый вопрос выводился бы на новой странице. Также данное приложение можно сделать межпредметным, т.е. добавить возможность выбора дисциплины, по которой будет проводиться тестирование.
Список использованных источников
1. Интернет Университет Информационных Технологий – дистанционное образование [Электронный ресурс]. Режим доступа: http:// www.intuit.ru. - Загл. с экрана. Яз. Рус.
2. Википедия – свободная библиотека [Электронный ресурс]. Режим доступа: http://ru.wikipedia.org/wiki - Загл. с экрана. Яз. Рус.
3. Сайт компании “Softwerk”[Электронный ресурс]. Режим доступа: http://www.softwerk.ru - Загл. с экрана. Яз. Рус.
4. Котеров, Д.В. Самоучитель PHP4/ Д.В. Котеров – СПб.: БХВ-Петербург, 2001.
5. Кузнецов, М.В. РНР 5 на примерах / М.В. Кузнецов, И.В. Симдянов, С.В. Голышев. – СПб.: БХВ-Петербург, 2005. – 575 с.
Приложение 1.
Описание таблиц хранящихся в базе данных “Gener”:
Таблица вопросов “Vopr”
ID | Vopros | Block |
1 | 2*2 | 1 |
2 | 3*3 | 1 |
3 | 4*4 | 1 |
4 | 7*8 | 2 |
5 | 9*5 | 2 |
6 | 5*4 | 2 |
7 | 11*7 | 3 |
8 | 15*3 | 3 |
9 | 16*2 | 3 |
10 | 44:4 | 4 |
11 | 42:7 | 4 |
12 | 56:7 | 4 |
13 | 512:2 | 5 |
14 | 1024:2 | 5 |
15 | 256:2 | 5 |
Таблица ответов “Otv”
ID | Otvet | ID_vopr | Znach |
1 | 4 | 1 | T |
2 | 5 | 1 | F |
3 | 6 | 1 | F |
4 | 7 | 1 | F |
5 | 11 | 2 | F |
6 | 12 | 2 | F |
7 | 9 | 2 | T |
8 | 10 | 2 | F |
9 | 5 | 3 | F |
10 | 12 | 3 | F |
11 | 15 | 3 | F |
12 | 16 | 3 | T |
13 | 56 | 4 | T |
14 | 63 | 4 | F |
15 | 58 | 4 | F |
16 | 55 | 4 | F |
17 | 40 | 5 | F |
18 | 45 | 5 | T |
19 | 55 | 5 | F |
20 | 48 | 5 | F |
21 | 15 | 6 | F |
22 | 18 | 6 | F |
23 | 20 | 6 | T |
24 | 24 | 6 | F |
25 | 77 | 7 | T |
26 | 76 | 7 | F |
27 | 87 | 7 | F |
28 | 79 | 7 | F |
29 | 46 | 8 | F |
30 | 45 | 8 | T |
31 | 30 | 8 | F |
32 | 35 | 8 | F |
33 | 30 | 9 | F |
34 | 34 | 9 | F |
35 | 32 | 9 | T |
36 | 36 | 9 | F |
37 | 10 | 10 | F |
38 | 11 | 10 | T |
39 | 12 | 10 | F |
40 | 13 | 10 | F |
41 | 8 | 11 | F |
42 | 7 | 11 | F |
43 | 6 | 11 | T |
44 | 5 | 11 | F |
45 | 6 | 12 | F |
46 | 7 | 12 | F |
47 | 9 | 12 | F |
48 | 8 | 12 | T |
49 | 1028 | 13 | F |
50 | 266 | 13 | F |
51 | 256 | 13 | T |
52 | 117 | 13 | F |
53 | 512 | 14 | T |
54 | 522 | 14 | F |
55 | 507 | 14 | F |
56 | 519 | 14 | F |
57 | 127 | 15 | F |
58 | 129 | 15 | F |
59 | 128 | 15 | T |
60 | 132 | 15 | F |