Автор работы: Пользователь скрыл имя, 22 Января 2012 в 14:31, курсовая работа
Требования к разрабатываемой системе:
Должен быть интерфейс для клиента и администратора
Интерфейс должен быть максимально простым и функциональным
Интерфейс клиента предназначен для проведения покупки или заказа билетов
Интерфейс администратора предназначен для просмотра и редактирования всех данных «Системы продажи билетов в кинотеатре»
Все данные должны храниться в удаленной базе данных
Далее строчками:
if ($id_day) $query = "select
* from month where id_day=$id_day";
else $query = "select * from month order by id_day";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
Формируем запрос в переменной query, причем если задана дата в переменной id_day, то запрос будет содержать в себе указание даты.
Далее анализируем полученный результат. Если значение переменной num_results больше нуля, то получены нужные записи и их надо отобразить на форме. Следующие строчки выводят на форму содержимое полученных записей от базы данных:
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 "</tr>";
}
Далее строчками:
echo '<form action="edit_tables.php"
method="post">
<input type=HIDDEN name="table"'." value=$table>";
echo 'Введите данные:<br />
Дата:<br />
<input type="text" name="id_day"><br />
№ сеанса:<br />
<input type="text" name="id_seanse_num"><br
/>
№ фильма:<br />
<input type="text" name="id_film"><br
/>
Что делать:<br />
<select name="what_to_do">
<option value = "add">добавить
<option value = "delete">удалить
</select><br/>
<input type="submit" value="OK">
</form>';
Формируются поля для редактирования записей базы данных. Данные поля ввода позволяют полностью редактировать все записи этой таблицы.
Опишем, как происходит вывод данной формы.
Вначале, с помощью функций «echo», формируются статичные надписи приветствия.
Далее строчками:
@ $db = mysql_pconnect('localhost',
'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение
с базой данных. Пожалуйста, повторите
попытку позже.';
exit;
}
mysql_select_db('movie');
Мы подключаемся к удаленной базе данных, расположенной на хосте «localhost». Подключаемся к базе данных под пользователем «root» с паролем «root». Далее проверяем, удалось или не удалось соединиться с базой. Если не удалось, то выводим сообщение об ошибке. Иначе все хорошо и выбираем текущую базу «movie».
Далее строчками:
$query = "select *
from seanse order by id_seanse_num";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
В переменную «query», формируется SQL запрос, с помощью которого будут получены записи все сеансы из таблицы «seanse» для формирования таблицы сеансов.
Далее строчками:
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 "</tr>";
}
Формируется таблица на форме, содержащая поля данных все сеансов из таблицы «seanse».
Далее строчками:
echo '<form action="edit_tables.php"
method="post">
<input type=HIDDEN name="table"'." value=$table>";
echo 'Введите данные:<br />
№ сеанса:<br />
<input type="text" name="id_seanse_num"><br
/>
Время начала:<br />
<input type="text" name="time_start"><br
/>
Время конца:<br />
<input type="text" name="time_end"><br
/>
Что делать:<br />
<select name="what_to_do">
<option value = "add">добавить
<option value = "delete">удалить
</select><br/>
<input type="submit" value="OK">
</form>';
Формируются поля ввода для редактирования записей базы данных. Данные поля ввода позволяют полностью редактировать все записи этой таблицы.
Станица выводящая, содержимое таблицы «films» содержит:
На данном примере показано содержание таблицы «films».
Опишем, как происходит вывод данной формы.
Вначале, с помощью функций «echo», формируются статичные надписи приветствия.
Далее строчками:
echo '<form action="tables.php"
method="post">
<INPUT TYPE=HIDDEN name="login" value='.$login.'>
<INPUT TYPE=HIDDEN name="pwd" value='.$pwd.'>
<input type=HIDDEN name="table"'." value=$table>";
echo 'Сортировать по:
<table border=1 cellspacing=1 cellpadding=10>
<tr>
<td><input type="radio" name="radio_button"
value=0 checked>№ фильма</td>
<td><input type="radio" name="radio_button"
value=1>Названию</td>
<td><input type="submit" value="OK"></td>
</table>
</form>';
Формируется форма, содержащая кнопки выбора способа сортировки в таблице фильмов.
Далее строчками:
@
$db = mysql_pconnect('localhost', 'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение
с базой данных. Пожалуйста, повторите
попытку позже.';
exit; }
mysql_select_db('movie');
Мы подключаемся к удаленной базе данных, расположенной на хосте «localhost». Подключаемся к базе данных под пользователем «root» с паролем «root». Далее проверяем, удалось или не удалось соединиться с базой. Если не удалось, то выводим сообщение об ошибке. Иначе все хорошо и выбираем текущую базу «movie».
Далее строчками:
if ($radio_button==0) $query
= "select * from films order by id_film";
else $query = "select * from films order by name";
$result = mysql_query($query);
В переменную «query», формируется SQL запрос, с помощью которого будут получены записи все даты из таблицы «films» для формирования таблицы фильмов.
Далее анализируем полученный результат. Если значение переменной num_results больше нуля, то получены нужные записи, и их надо отобразить на форме. Следующие строчки выводят на форму содержимое полученных записей от базы данных:
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 "</tr>";
}
Далее строчками:
echo
'<form action="edit_tables.php" method="post">
<input type=HIDDEN name="table"'." value=$table>";
echo 'Введите данные:<br />
№ фильма:<br />
<input type="text" name="id_film"><br
/>
Название:<br />
<input type="text" name="name"><br />
Что делать:<br />
<select name="what_to_do">
<option value = "add">добавить
<option value = "delete">удалить
</select><br/>
<input type="submit" value="OK">
</form>';
Формируются поля для редактирования записей базы данных. Данные поля ввода позволяют полностью редактировать все записи этой таблицы.
На странице, при обработке таблицы «orders» выводится:
На странице, при обработке таблицы «places» выводится:
Вводя
необходимые данные, администратор
переходит к файлу «edit_
Структура базы данных «movie».
База
«movie»
|
Таблица «month». Содержит расписание фильмов по датам и сеансам.
Поля таблицы «month»:
Поля | Тип | Описание |
id_day | date not null (поле типа дата, не пустое) | Дата |
id_seanse_num | int unsigned not null (поле типа без знаковое целое, не пустое) | № сеанса |
id_film | int unsigned not null (поле типа без знаковое целое, не пустое) | № фильма |
Главный ключ составной и состоит из значений:
Таблица «seanse». Содержит расписание фильмов по датам и сеансам.
Поля таблицы «seanse»:
Поля | Тип | Описание |
id_seanse_num | int unsigned not null primary key (поле типа без знаковое целое, не пустое, главный ключ) | № сеанса |
time_start | time not null (поле типа время, не пустое) | Время начала сеанса |
time_end | time not null (поле типа время, не пустое) | Время конца сеанса |
Главный ключ «id_seanse_num».
Таблица «films». Содержит расписание фильмов по датам и сеансам.
Поля таблицы «films»:
Поля | Тип | Описание |
id_film | int unsigned not null primary key (поле типа без знаковое целое, не пустое, главный ключ) | № фильма |
name | char(50) not null (поле типа массив из 50 символов, не пустое) | Название фильма |
Главный ключ «id_film».
Таблица «orders». Содержит расписание фильмов по датам и сеансам.
Поля таблицы «orders»:
Поля |
|
Описание |
id_order | int unsigned not null auto_increment primary key (поле типа без знаковое целое, не пустое, с автоматическим увеличением значения, главный ключ) | № заказа |
name | char(50) not null (поле типа массив из 50 символов, не пустое) | ФИО клиента |
id_seanse_num | int unsigned not null (поле типа без знаковое целое, не пустое) | № сеанса |
id_place | int unsigned not null (поле типа без знаковое целое, не пустое) | № места |
date | date not null (поле типа дата, не пустое) | Дата заказа |
time | time not null (поле типа время, не пустое) | Время заказа |