Автор работы: Пользователь скрыл имя, 22 Января 2012 в 14:31, курсовая работа
Требования к разрабатываемой системе:
Должен быть интерфейс для клиента и администратора
Интерфейс должен быть максимально простым и функциональным
Интерфейс клиента предназначен для проведения покупки или заказа билетов
Интерфейс администратора предназначен для просмотра и редактирования всех данных «Системы продажи билетов в кинотеатре»
Все данные должны храниться в удаленной базе данных
Министерство Образования Российской Федерации
Таганрогский Государственный Радиотехнический Университет
Кафедра Математического Обеспечения и Применения ЭВМ
на тему:
«Система продажи билетов в кинотеатре»
по курсу:
«Программирование для интернет»
Выполнил:
Проверил:
Хаджинов А. А.
Таганрог 2004
Тема курсовой работы.
Разработать WEB-приложение «Система продажи билетов в кинотеатре».
Требования к разрабатываемой системе:
«Система продажи билетов в кинотеатре».
Описание интерфейса.
Web-приложение «Система продажи билетов в кинотеатре», далее будет называться приложение. Приложение было разработано с помощь PHP и MySQL. По средством MySQL реализовано хранение всех данных системы. База данных, реализованная на MySQL, размещается на удаленном компьютере. Для получения данных из базы данных, система формирует, по средством функций PHP, SQL запросы. Ответы на SQL запросы обрабатываются с помощью функций системы, реализованных на PHP, и выводятся на форму приложения.
В данном приложение, создан интерфейс для клиентов (посетителей) и для администратора системы.
Интерфейс посетителя.
При входе на сайт, посетитель вызывает страницу «index.php».
На этой странице выводится:
Выбирая «дату» посетитель переходит к файлу «seanses.php».
Опишем, как происходит вывод данной формы.
Вначале, с помощью функций «echo», формируются статичные надписи приветствия.
Далее строчками:
@ $db = mysql_pconnect('localhost',
'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение
с базой данных. Пожалуйста, повторите
попытку позже.';
exit;
}
mysql_select_db('movie');
Мы подключаемся к удаленной базе данных, расположенной на хосте «localhost». Подключаемся к базе данных под пользователем «root» с паролем «root». Далее проверяем, удалось или не удалось соединиться с базой. Если не удалось, то выводим сообщение об ошибке. Иначе все хорошо и выбираем текущую базу «movie».
Далее строчками:
$query = "select month.id_day,
films.name from month, films where month.id_film = films.id_film order
by month.id_day";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
В переменную «query», формируется SQL запрос, с помощью которого будут получены записи, содержащие следующие поля:
Из таблицы «month». Полученные записи должны содержать поля «Id_day» = выбранному дню. И отсортированы по дате в порядке возрастания. Этот запрос отправляется MYSQL серверу базы данных. Далее мы анализируем ответ от сервера.
Далее строчками:
for ($i=0; $i <$num_results;
$i++)
{
$row = mysql_fetch_row($result);
echo "<tr><td>";
$a=htmlspecialchars(
echo $a;
echo "</td>";
echo "<td>";
echo htmlspecialchars(stripslashes(
echo "</td>";
echo "</tr>";
}
Пример страницы «index.php».
Если на данный SQL запрос были найдены записи, то переменная «num_result» будет больше нуля. И с помощью функции «mysql_fetch_row», извлекаются записи из возвратившегося ответа. Далее формируется таблица, содержимое которой визуализует данные в базе данных.
Далее для определения списка дат и формирования наиболее удобного пользовательского интерфейса.
Строчками:
$query_day = "select DISTINCT
id_day from month order by id_day";
$result_day = mysql_query($query_day);
$num_results_day = mysql_num_rows($result_day);
В переменной «query_day» формируется SQL запрос к таблице «month». Результатом данного запроса будет список дат в базе данных. Далее запрос отсылается на MySQL сервер, а получаемый ответ обрабатывается строчками формирования структуры тега «select» следующими строчками:
echo '<table border=0 cellspacing=10
cellpadding=10 align="center"><tr><td>
<select name="film_data">';
for ($i=0; $i <$num_results_day; $i++)
{
$row_day = mysql_fetch_row($result_day);
$b=htmlspecialchars(
echo '<option value ='.$b.">$b";
}
echo '</select></td><td>';
Если списка фильмов нет, то пользователю будет выведено сообщение: «Список фильмов пуст»
Пример страницы «seanses.php».
На этой странице выводится:
Выбирая «номер сеанса» посетитель переходит к файлу «place.php».
Опишем, как происходит вывод данной формы.
Вначале, с помощью функций «echo», формируются статичные надписи приветствия.
Далее строчками:
@ $db = mysql_pconnect('localhost',
'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение
с базой данных. Пожалуйста, повторите
попытку позже.';
exit;
}
mysql_select_db('movie');
Мы подключаемся к удаленной базе данных, расположенной на хосте «localhost». Подключаемся к базе данных под пользователем «root» с паролем «root». Далее проверяем, удалось или не удалось соединиться с базой. Если не удалось, то выводим сообщение об ошибке. Иначе все хорошо и выбираем текущую базу «movie».
Далее строчками:
mysql_select_db('movie');
$query = "select films.name, month.id_seanse_num, seanse.time_start,
seanse.time_end from month, films, seanse where month.id_day =$film_data_int
and month.id_film=films.id_film and month.id_seanse_num=seanse.id_
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
В переменную «query», формируется SQL запрос, с помощью которого будут получены записи, содержащие следующие поля:
Из таблиц «month», «films», «seanse». Полученные записи должны содержать поля month.id_day равное выбранному дню, month.id_film равное выбранному фильму, month.id_seanse_num равное выбранному сеансу. И отсортированы по дате в порядке возрастания. Этот запрос отправляется MYSQL серверу базы данных. Далее мы анализируем ответ от сервера.
Далее строчками:
for ($i=0; $i <$num_results;
$i++)
{
$row = mysql_fetch_row($result);
echo "<tr><td>";
echo htmlspecialchars(stripslashes(
echo "</td>";
echo "<td>";
echo htmlspecialchars(stripslashes(
echo "</td>";
echo "<td>";
echo htmlspecialchars(stripslashes(
echo "</td>";
echo "<td>";
echo htmlspecialchars(stripslashes(
echo "</td>";
echo "</tr>";
}
echo "</table>";
Если на данный SQL запрос были найдены записи, то переменная «num_results» будет больше нуля. И с помощью функции «mysql_fetch_row», извлекаются записи из возвратившегося ответа. Далее формируется таблица, содержимое которой визуализует 4 поля записей, полученных данных из базы данных.
Далее для определения списка сеансов и формирования наиболее удобного пользовательского интерфейса.
Строчками:
$query_seanse_num
= "select DISTINCT id_seanse_num from month where id_day=$film_data_int";
$result_seanse_num = mysql_query($query_seanse_num)
$num_results_seanse_num = mysql_num_rows($result_seanse_
В переменной «query_seanse_num» формируется SQL запрос к таблице «month». Результатом данного запроса будет список сеансов для выбранного дня в базе данных. Ответом на данный SQL запрос будут записи, у которых поле id_day равно выбранному дню. Далее запрос отсылается на MySQL сервер, а получаемый ответ обрабатывается строчками формирования структуры тега «select» следующими строчками:
echo '<form action="place.php"
method="post">
<INPUT TYPE=HIDDEN name="film_data" ';
echo "value=$film_data>";
echo 'Выберите сеанс:<br />
<table border=0 cellspacing=10 cellpadding=10><tr><td>
<select name="seanse_num">';
for ($i=0; $i <$num_results_seanse_num; $i++)
{
$row_seanse_num = mysql_fetch_row($result_
$b=htmlspecialchars(
echo '<option value ='.$b.">$b";
}
echo '</select></td><td>';
echo '<input type="submit" value="OK"></td></tr></table>
</form>';
Этими строчками мы создаем элемент «select», поля выбора которого, содержат номера сеансов, доступных в выбранный день.
Если список сеансов нет, то пользователю будет выведено сообщение: «Список сеансов пуст»
Пример страницы «place.php».
На этой странице выводится:
Вводя желаемые данные и нажимая на кнопку «Заказать», посетитель переходит к файлу «order.php».
Опишем, как происходит вывод данной формы.
Вначале, с помощью функций «echo», формируются статичные надписи приветствия.
Далее строчками:
@ $db = mysql_pconnect('localhost',
'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение
с базой данных. Пожалуйста, повторите
попытку позже.';
exit;
}
mysql_select_db('movie');
Мы подключаемся к удаленной базе данных, расположенной на хосте «localhost». Подключаемся к базе данных под пользователем «root» с паролем «root». Далее проверяем, удалось или не удалось соединиться с базой. Если не удалось, то выводим сообщение об ошибке. Иначе все хорошо и выбираем текущую базу «movie».
Далее строчками:
$query = "select id_place,
price, ordered from places where id_day =$film_data_int and id_seanse_num=$seanse_num
order by id_place";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
В переменную «query», формируется SQL запрос, с помощью которого будут получены записи, содержащие следующие поля:
Из таблицы «places». Полученные записи должны содержать поля Id_day равные выбранному дню, id_seans_num равные выбранному сеансу. И отсортированы по номеру мест в порядке возрастания. Этот запрос отправляется MYSQL серверу базы данных. Далее мы анализируем ответ от сервера.