Автор работы: Пользователь скрыл имя, 22 Января 2012 в 14:31, курсовая работа
Требования к разрабатываемой системе:
Должен быть интерфейс для клиента и администратора
Интерфейс должен быть максимально простым и функциональным
Интерфейс клиента предназначен для проведения покупки или заказа билетов
Интерфейс администратора предназначен для просмотра и редактирования всех данных «Системы продажи билетов в кинотеатре»
Все данные должны храниться в удаленной базе данных
Главный ключ «id_order».
Таблица «places». Содержит расписание фильмов по датам и сеансам.
Поля таблицы «places»:
Поля | Тип | Описание |
id_day | date not null (поле типа без знаковое целое, не пустое, главный ключ) | Дата места |
id_seanse_num | int unsigned not null (поле типа время, не пустое) | № сеанса места |
id_place | int unsigned not null (поле типа без знаковое целое, не пустое) | № места |
price | float(4,2) not null (вещественное число, не пустое поле) | цена |
ordered | bool not null ( истина или лож, поле не пустое) | свободно или нет |
Главный ключ составной и состоит из значений:
Листинг программы.
Файл «index.php»
<html>
<head>
<title>Кинотеатр Гавриш П.А. гр. А-81</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
<!--
.style1 {
font-size: 12pt;
}
.style2 {
font-size: 20pt;}
-->
</style>
</head>
<body align="center">
<h3 align="center" class="style2"><font color="#0000FF" size="+3" face="Georgia, Times New Roman, Times, serif">Кинотеатр </font></h3>
<table width="100%" border="0">
<tr>
<td width="70%"><h3 class="style2"><font face="Arial, Helvetica, sans-serif"> Добро
пожаловать к нам.</font></h3></td>
<td width="30%"><p
align="right" class="style1"><a href="admin.html"><font
face="Arial, Helvetica, sans-serif">Вход для администратора</font></a></p><
</tr>
</table>
<p> <img src="01.JPG" width="230" height="165"><img src="02.JPG" width="230" height="165"><img src="03.JPG" width="230" height="165"></p>
<p align="center">
<strong><font color="#0099FF" size="+3"
face="Verdana, Arial, Helvetica, sans-serif">Фильмы:</font></
<?php
@ $db = mysql_pconnect('localhost', 'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить соединение с базой данных. Пожалуйста, повторите попытку позже.';
exit;
}
mysql_select_db('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);
if ($num_results>0)
{
echo "<table border=1 cellspacing=1 cellpadding=5 align='center'>";
echo '<tr><th bgcolor="#CCCCFF">Дата</th>
<th bgcolor="#CCCCFF">Название</
</tr>';
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>";
}
echo "</table>";
$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);
if ($num_results_day>0)
{
echo '<form action="seanses.php" method="post">
<p align="center">Выберите дату:</p>';
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>';
echo '<input type="submit" value="OK"></td></tr></table>
</form>';
}
else echo 'Список дат пуст.';
}
else echo 'Список фильмов пуст.';
?>
<h4> </h4>
</body>
</html>
Файл « seanses.php»
<html>
<head>
<title>Кинотеатр Гавриш П.А. А-81</title>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1251">
<style type="text/css">
<!--
.style1 {
font-size: 12pt;
}
.style2 {
font-size: 20pt;}
-->
</style>
</head>
<body>
<?php
$film_data=$HTTP_POST_VARS['
//преобразуем 2004-12-01 -> 20041201 для
MySQL
$a="";
for($i=0; $i<10; $i++)
if ($film_data[$i]<>'-') $a=$a.$film_data[$i];
$film_data_int= (int) $a;
if (!$film_data)
{
echo 'Вы не ввели дату.<br
/>'
.'Пожалуйста,
вернитесь к предыдущей странице и повторите
попытку.';
exit;
}
echo '<p align="center" class="style2">Сеансы
на ';
echo $film_data;
echo ':</p>';
@ $db = mysql_pconnect('localhost', 'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить
соединение с базой данных. Пожалуйста,
повторите попытку позже.';
exit;
}
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);
if ($num_results>0)
{
echo "<table border=0 cellspacing=10 cellpadding=10
align='center'>";
echo '<tr><th bgcolor="#CCCCFF">Название</
<th bgcolor="#CCCCFF">№ сеанса</th>
<th bgcolor="#CCCCFF">Время начала</th>
<th bgcolor="#CCCCFF">Время конца</th>
</tr>';
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>";
$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_
if ($num_results_seanse_num>0)
{
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>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
else
{
echo 'Список сеансов пуст.';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
}
else
{
echo 'Список сеансов пуст.';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
?>
</body>
</html>
Файл « place.php»
<html>
<head>
<title>Кинотеатр Гавриш П.А. А-81</title>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1251">
<style type="text/css">
<!--
.style1 {
font-size: 10pt;
}
.style2 {
font-size: 20pt;}
-->
</style>
</head>
<body>
<?php
$film_data=$HTTP_POST_VARS['
$seanse_num=$HTTP_POST_VARS['
//преобразуем 2004-12-01 -> 20041201 для
MySQL
$a="";
for($i=0; $i<10; $i++)
if ($film_data[$i]<>'-') $a=$a.$film_data[$i];
$film_data_int= (int) $a;
if (!$film_data || !$seanse_num)
{
echo 'Вы ввели не все данные.<br
/>'
.'Пожалуйста,
вернитесь к предыдущей странице и повторите
попытку.';
exit;
}
@ $db = mysql_pconnect('localhost', 'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить
соединение с базой данных. Пожалуйста,
повторите попытку позже.';
exit;
}
mysql_select_db('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);
if ($num_results>0)
{
echo '<p align="center">Места:</p>';
echo '<table border=1 cellspacing=1 cellpadding=1
align="center" width="85%" height="50">';
echo '<tr><th bgcolor="#CCCCFF">Экран</th></
echo '<table border=1 cellspacing=5 cellpadding=5 align="center"
width="85%">';
$a=0;
$b=0;
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_row($result);
if (($i%10==0))
{
if ($a==0)
{
echo "<tr>";
$b=($i / 10)+1;
echo "<td >$b-ый ряд</td>";
$a=1;
}
else
{
echo "</tr><br/><tr>";
$b=($i / 10)+1;
echo "<td >$b-ый ряд</td>";
}
}
if (! htmlspecialchars(stripslashes(
{
echo '<td bgcolor="#00ff00"
align="center">';
echo '№ '.htmlspecialchars(
echo htmlspecialchars(stripslashes(
}
else
{
echo '<td bgcolor="#FFFFFF"
align="center">';
echo '№ '.htmlspecialchars(
}
echo "</td>";
}
echo "</tr></table>";
$query_place = "select DISTINCT id_place from
places where id_day =$film_data_int and id_seanse_num=$seanse_num and
ordered=0 order by id_place";
$result_place = mysql_query($query_place);
$num_results_place = mysql_num_rows($result_place);
if ($num_results_place>0)
{
echo '<form action="order.php"
method="post">';
echo '<INPUT TYPE=HIDDEN name="film_data"'."value=$
echo '<INPUT TYPE=HIDDEN name="seanse_num"'."value=$
echo 'Выберите номер места:<br
/>
<select
name="id_place">';
for ($i=0; $i <$num_results_place; $i++)
{
$row_place = mysql_fetch_row($result_place)
$b=htmlspecialchars(
echo '<option value ='.$b.">$b";
}
echo '</select><br />
Ваше
ФИО:<br />
<input
name="client_name" type="text">
<br
/>
<input
type="submit" value="Заказать">
</form>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
else
{
echo 'Все места заняты. Дождитесь следующего
сеанса.';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
}
else
{
$query = "insert into places values";
for ($i=0; $i<29; $i++)
{
$query = $query."('$film_data_int'
, $seanse_num , ($i+1) , 100.00, 0),";
}
$query = $query."('$film_data_int' , $seanse_num , 30 , 100.00,
0);";
$result = mysql_query($query);
$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);
if ($num_results>0)
{
echo '<p align="center" class="style2">Места:</p>';
echo '<table border=1 cellspacing=1
cellpadding=1 align="center" width="85%" height="50">';
echo '<tr><th bgcolor="#CCCCFF">Экран</th></
echo '<table border=1 cellspacing=5
cellpadding=5 align="center" width="85%">';
$a=0;
$b=0;
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_row($result);
if (($i%10==0))
{
if ($a==0)
{
echo "<tr>";
$b=($i / 10)+1;
echo "<td >$b-ый ряд</td>";
$a=1;
}
else
{
echo "</tr><br/><tr>";
$b=($i / 10)+1;
echo "<td >$b-ый ряд</td>";
}
}
if (! htmlspecialchars(stripslashes(
{
echo '<td
bgcolor="#00ff00" align="center">';
echo '№ '.htmlspecialchars(
echo htmlspecialchars(stripslashes(
}
else
{
echo '<td
bgcolor="#FFFFFF" align="center">';
echo '№ '.htmlspecialchars(
}
echo "</td>";
}
echo "</tr></table>";
$query_place = "select DISTINCT
id_place from places where id_day =$film_data_int and id_seanse_num=$seanse_num
and ordered=0 order by id_place";
$result_place = mysql_query($query_place);
$num_results_place = mysql_num_rows($result_place);
if ($num_results_place>0)
{
echo '<form action="order.php"
method="post">';
echo '<INPUT TYPE=HIDDEN
name="film_data"'."value=$
echo '<INPUT TYPE=HIDDEN
name="seanse_num"'."value=$
echo 'Выберите номер
места:<br />
<select
name="id_place">';
for ($i=0; $i <$num_results_place; $i++)
{
$row_place =
mysql_fetch_row($result_place)
$b=htmlspecialchars(
echo '<option value ='.$b.">$b";
}
echo '</select>
Ваше ФИО:<br />
<input name="client_name" type="text">
<br />
<input type="submit" value="Заказать">
</form>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
else
{
echo 'Все места заняты. Дождитесь
следующего сеанса.';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
}
else
{
echo 'Ошибка: при обновление мест на
сеанс.';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
}
?>
</body>
</html>
Файл « order.php»
<html>
<head>
<title>Кинотеатр Гавриш П.А А-81</title>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1251">
<style type="text/css">
<!--
.style1 {
font-size: 10pt;
}
.style2 {
font-size: 20pt;}
-->
</style>
</head>
<body>
<?php
$id_place=$HTTP_POST_VARS['id_
$film_data=$HTTP_POST_VARS['
$seanse_num=$HTTP_POST_VARS['
$client_name=$HTTP_POST_VARS['
//преобразуем 2004-12-01 -> 20041201 для
MySQL
$a="";
for($i=0; $i<10; $i++)
if ($film_data[$i]<>'-') $a=$a.$film_data[$i];
$film_data_int= (int) $a;
if (!$id_place || ($id_place<1) || !$client_name)
{
echo 'Вы ввели не все данные.<br
/>'
.'Пожалуйста,
вернитесь к предыдущей странице и повторите
попытку.';
exit;
}
@ $db = mysql_pconnect('localhost', 'root', 'root');
if (!$db)
{
echo 'Ошибка: Не удалось установить
соединение с базой данных. Пожалуйста,
повторите попытку позже.';
exit;
}
mysql_select_db('movie');
$query = "select id_place from places where id_day =$film_data_int
and id_seanse_num=$seanse_num and id_place=$id_place and ordered=0 order
by id_place";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
if ($num_results>0)
{
unset($row);
$query_time = "select seanse.time_start, seanse.time_end
from seanse where seanse.id_seanse_num=$seanse_
$result_time = mysql_query($query_time);
$num_results_time = mysql_num_rows($result_time);
if ($num_results_time>0)
{
$row=mysql_fetch_row($result_
$time_start=htmlspecialchars(
$time_end=htmlspecialchars(
}
unset($row);
$query_name = "select DISTINCT films.name from
month, films, seanse where month.id_day =$film_data_int and month.id_film=films.id_film
and month.id_seanse_num=$seanse_
$result_name = mysql_query($query_name);
$num_results_name = mysql_num_rows($result_name);
if ($num_results_name>0)
{
$row=mysql_fetch_row($result_
$film_name=htmlspecialchars(
}
$client_name = addslashes($client_name);
$client_date = date("Y:m:d");
$client_time = date("H:i:s");
$query = "insert into orders values
('NULL',
'".$client_name."', '".$film_data_int."', '".$seanse_num."',
'".$id_place."', '".$client_date."', '".$client_time."')";
$result = mysql_query($query);
$query_update = "update places set ordered=1
where id_day=$film_data_int and id_seanse_num=$seanse_num and id_place=$id_place";
$result2 = mysql_query($query_update);
if ($result && $result2)
{
echo '<p class="style2">Вы заказали:</p>';
echo '<p class="style1">Дата:
'.$film_data.'</p>';
echo '<p class="style1">Фильм:
'.$film_name.'</p>';
echo '<p class="style1">№
сеанса: '.$seanse_num.'</p>';
echo '<p class="style1">Время:
'.$time_start.' - '.$time_end.'</p>';
echo '<p class="style1">№ места: '.$id_place.'</p>';
echo '<p class="style2" align="center">Приятного
просмотра.</p></br>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
else
{
echo '<p class="style2">Ошибка: попробуйте
ещё раз.</p>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
}
else
{
echo '<p class="style2">Место
уже занято. Пожалуйста, выберите другое
место.</p>';
echo '<a href="index.php"><p align="center"
>Перейти на главную страницу</p></a>';
}
?>
</body>
</html>