Система продажи билетов в кинотеатре

Автор работы: Пользователь скрыл имя, 22 Января 2012 в 14:31, курсовая работа

Краткое описание

Требования к разрабатываемой системе:
Должен быть интерфейс для клиента и администратора
Интерфейс должен быть максимально простым и функциональным
Интерфейс клиента предназначен для проведения покупки или заказа билетов
Интерфейс администратора предназначен для просмотра и редактирования всех данных «Системы продажи билетов в кинотеатре»
Все данные должны храниться в удаленной базе данных

Содержимое работы - 1 файл

Курсовая(Inet).doc

— 646.00 Кб (Скачать файл)
 

Главный ключ «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 ( истина или лож, поле не пустое) свободно или  нет
 

Главный ключ составной  и состоит из значений:

  • id_day
  • id_seanse_num
  • id_place
 
 
 
 
 
 
 
 
 
 
 

Листинг программы.

Файл «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></td>

  </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></strong></p>

<?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">Название</th>

          </tr>';

    for ($i=0; $i <$num_results; $i++)

    {

      $row = mysql_fetch_row($result);

      echo "<tr><td>";

        $a=htmlspecialchars(stripslashes($row[0]));

        echo $a;

        echo "</td>";

      echo "<td>";

        echo htmlspecialchars(stripslashes($row[1]));

        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(stripslashes($row_day[0]));

            echo '<option value ='.$b.">$b";

      }

 

      echo '</select></td><td>';

        echo '<input type="submit" value="OK"></td></tr></table>

            </form>';

      }

      else  echo 'Список дат пуст.';

  }

  else  echo 'Список фильмов пуст.';

?>

<h4>&nbsp;</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['film_data']; 
   
  //преобразуем  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_seanse_num order by month.id_day"; 
$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> 
              <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($row[0])); 
   echo "</td>"; 
      echo "<td>"; 
   echo htmlspecialchars(stripslashes($row[1])); 
   echo "</td>"; 
      echo "<td>"; 
   echo htmlspecialchars(stripslashes($row[2])); 
   echo "</td>"; 
      echo "<td>"; 
   echo htmlspecialchars(stripslashes($row[3])); 
   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_num); 
 
    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_seanse_num); 
     $b=htmlspecialchars(stripslashes($row_seanse_num[0])); 
  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['film_data']; 
  $seanse_num=$HTTP_POST_VARS['seanse_num']; 
   
  //преобразуем  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></tr></table>'; 
     
 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($row[2]))) 
   { 
         echo '<td bgcolor="#00ff00" align="center">'; 
      echo '№ '.htmlspecialchars(stripslashes($row[0])).'<br/>'
      echo htmlspecialchars(stripslashes($row[1])).'<br/>'; 
   } 
   else 
   { 
         echo '<td bgcolor="#FFFFFF" align="center">'; 
      echo '№ '.htmlspecialchars(stripslashes($row[0])).'<br/>'
   } 
 
   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=$film_data>"; 
      echo '<INPUT TYPE=HIDDEN name="seanse_num"'."value=$seanse_num>"; 
      echo 'Выберите номер места:<br /> 
            <select name="id_place">'; 
    
   for ($i=0; $i <$num_results_place; $i++) 
      { 
        $row_place = mysql_fetch_row($result_place)
     $b=htmlspecialchars(stripslashes($row_place[0])); 
  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></tr></table>'; 
     
      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($row[2]))) 
     { 
           echo '<td bgcolor="#00ff00" align="center">'; 
        echo '№ '.htmlspecialchars(stripslashes($row[0])).'<br/>'
        echo htmlspecialchars(stripslashes($row[1])).'<br/>'; 
     } 
     else 
     { 
           echo '<td bgcolor="#FFFFFF" align="center">'; 
        echo '№ '.htmlspecialchars(stripslashes($row[0])).'<br/>'
     } 
 
     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=$film_data>"; 
        echo '<INPUT TYPE=HIDDEN name="seanse_num"'."value=$seanse_num>"; 
        echo 'Выберите номер места:<br /> 
            <select name="id_place">'; 
    
     for ($i=0; $i <$num_results_place; $i++) 
        { 
          $row_place = mysql_fetch_row($result_place)
       $b=htmlspecialchars(stripslashes($row_place[0])); 
    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_place']; 
  $film_data=$HTTP_POST_VARS['film_data']; 
  $seanse_num=$HTTP_POST_VARS['seanse_num']; 
  $client_name=$HTTP_POST_VARS['client_name']; 
 
  //преобразуем  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_num"; 
    $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); 
      $time_start=htmlspecialchars(stripslashes($row[0])); 
      $time_end=htmlspecialchars(stripslashes($row[1])); 
     }  
     
    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_num"; 
    $result_name = mysql_query($query_name); 
    $num_results_name = mysql_num_rows($result_name); 
    if ($num_results_name>0) 
    { 
      $row=mysql_fetch_row($result_name); 
   $film_name=htmlspecialchars(stripslashes($row[0])); 
    } 
   
    $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>

Информация о работе Система продажи билетов в кинотеатре