Министерство науки и образования РФ
Новосибирский Государственный Технический Университет
Кафедра ВТ
Лабораторная работа №4
по дисциплине «Инфокоммуникации»
Создание электронного магазина (средствами PHP и MySQL)
Факультет: АВТ
Группа: АМ-510
Студенты: Гильдман Р.А.
Прозоров В.И.
Преподаватель: Новицкая Ю.В.
Вариант 5
Новосибирск, 2009 г.
Написать скрипт, позволяющий организовать электронный магазин.
Список товаров хранится в базе данных на стороне сервера. Покупатель должен иметь возможность просмотреть все имеющиеся в наличии товары и сделать заказ. Покупатель должен иметь возможность сделать запрос, например, указав интервал цен, который его устраивает или какие-либо другие данные.
До тех пор, пока покупатель выбирает отдельные товары, его заказ хранится на стороне клиента в виде cookie (вариант – сессии).
После того как покупатель сформировал заказ, заказ отсылается на сторону сервера, где покупка товара учитывается в базе данных.
В базе данных содержится информация о местах в отеле: название отеля, класс номера, изображение номера, количество мест в номере, цена.
Рис.1 Пример работы электронного магазина
Файл index.php:
<? session_start(); ?>
<HTML>
<HEAD>
<TITLE>Лучшие номера отелей</TITLE>
</HEAD>
<BODY>
<?
mysql_connect('localhost', 'root', '');
mysql_select_db('web_shop');
?>
<A HREF="index.php"><H1>Лучшие номера только у нас</H1></A>
<P>Чтобы просмотреть или оплатить выбранные товары посмотрите содержимое
<A HREF="bin.php">корзины</A>.</P>
<!-- Место для формы поиска -->
<TABLE CELLSPACING=15 BGCOLOR=#F4A460>
<TD><B><BIG>Поиск</BIG></B></TD>
<FORM ACTION="index.php?search=1" METHOD=POST>
<TD>Название <INPUT TYPE=TEXT NAME=f_name></TD>
<TD>Цена от <INPUT TYPE=TEXT NAME=a_price>
до <INPUT TYPE=TEXT NAME=b_price></TD>
<TD><INPUT TYPE=SUBMIT VALUE="Поиск"></TD>
</FORM>
</TABLE>
<H2>Список номеров</H2>
<?
if(isset($_REQUEST["search"]))
{
$q_str = "SELECT * FROM hotels WHERE ";
if($_REQUEST[f_name] != "")
$q_str = $q_str."name LIKE '%".$_REQUEST["f_name"]."%' AND ";
else
$q_str = $q_str." 1 AND ";
if($_REQUEST[a_price] != "")
$q_str = $q_str."price >= ".$_REQUEST["a_price"]." AND ";
else
$q_str = $q_str." 1 AND ";
if($_REQUEST[b_price] != "")
$q_str = $q_str."price <= ".$_REQUEST["b_price"]." AND ";
else
$q_str = $q_str." 1 AND ";
// if($_REQUEST[a_pass] != "")
// $q_str = $q_str."g_pas_num >= ".$_REQUEST["a_pass"];
// else
$q_str = $q_str." 1";
$result = mysql_query($q_str);
}
else if(isset($_REQUEST["add"]))
{
$result = mysql_query("SELECT name, id, free FROM hotels");
for($i = 0; $i < mysql_numrows($result); $i++)
{
$temp_row = mysql_fetch_array($result);
if (!isset($_SESSION[$temp_row[name]])) $_SESSION[$temp_row[name]]=0;
$tb_name = 'g'.$temp_row[id]; // количество элеметов в корзине
$rg_name = $temp_row[name];
if($temp_row[free] < $_REQUEST[$tb_name])
echo '<I>На складе не достаточно '.$rg_name.', поэтому данный товар не был добавлен в корзину!</I>';
else if(isset($_REQUEST[$tb_name])) $_SESSION[$rg_name] = $_SESSION[$rg_name] + $_REQUEST[$tb_name];
}
$result = mysql_query("SELECT * FROM hotels");
}
else
{
$result = mysql_query("SELECT * FROM hotels");
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.