Автор: Пользователь скрыл имя, 10 Декабря 2012 в 23:23, реферат
Создание интернет-магазина является сложной и длительной работой, поэтому, в качестве примера, мы будем создавать упрощенный интернет-магазин, который, по сути, будет являться лишь витриной с описанием товаров, корзиной, в которую можно складывать покупки, и формой заказа. Администратор же сможет только просматривать сделанные заказы.
Лабораторная работа №4. Оформление заказа
Оформление заказа будет состоять из двух частей: форма для ввода данных о пользователе и запись этой информации в базу данных вместе с содержание корзины. Форму создайте самостоятельно в файле orderform.php. В теге form укажите method=”post” и action=”order.php”. В форме должны быть следующие поля: name (фио), address (почтовый адрес), email (электронная почта).
После написания файла с формой, создайте файл order.php, в который мы поместим функцию оформления заказа.
Функция №4: Оформление заказа
<?
@mysql_connect("имя хоста","имя пользователя","пароль") or die("MySQL Connection Failed");
@mysql_select_db("имя базы данных") or die("MySQL Database Selection Failed");
function order() {
$name=@$_POST['name'];
$address=@$_POST['address'];
$email=@$_POST['email'];
/* в переменные $name, $address и $email получим переданные методом post переменные из формы */
$cart="";
/* создаем переменную $cart, в которую запишем корзину */
if (@$_COOKIE['cart']) { $cart=$_COOKIE['cart']; }
/* если существует переменная «cart» в cookies, то присвоим её значение переменной $cart */
$date=time();
/* запишем в переменную $date текущую дату */
mysql_query("insert into purchases(date, name, address, email, cart) values('$date', '$name', '$address', '$email', '$cart')");
/* добавим в таблицу с покупками новую запись */
return "Ваш заказ поступил на сервер. Спасибо";
}
echo order();
/* выведем результат работы функции на экран */
?>
Лабораторная работа №5. Работа с заказами
Целью данной лабораторной работы является получение страницы со всеми заказами. Для этого нужно взять из таблицы purchases все записи и с помощью уже хорошо известного метода (через цикл for и функцию mysql_fetch_array()), вывести их на страницу. Задача усложняется тем, что в столбце cart находятся идентификаторы товаров и их нужно превратить в названия, потому что фраза «покупатель заказал товар 5 и 8» Вам ничего не скажет.
Создайте файл allorders.php и поместите в него следующую функцию.
Функция №5: Оформление заказа
<?
@mysql_connect("имя хоста","имя пользователя","пароль") or die("MySQL Connection Failed");
@mysql_select_db("имя базы данных") or die("MySQL Database Selection Failed");
function allorders() {
$resultPurchases=mysql_query("
/* получаем в переменную $resultPurchases все заказы. Мы используем такое название для того, чтобы в дальнейшем не было путаницы, т.к. мы будем 2 раза запрашивать данные из таблиц */
$content="";
/* создаем переменную $content, в которую будем записывать все то, что нужно показать пользователю (создание HTML-файла) */
for ($i=0; $i<mysql_num_rows($
/* перебираем все строки в таблице с заказами, используя для этого оператор for */
$rowPurchases=mysql_fetch_
/* получаем массив с данными одного ряда (одного заказа) в переменную $rowPurchases */
$content=$content."-----------
<strong>".$rowPurchases['name'
".$rowPurchases['address']."<
".$rowPurchases['email']."<br/
<strong>Заказ:</strong><br/>";
/* составляем информации о покупателе */
$cart=$rowPurchases['cart'];
/* записываем в переменную cart содержание корзины */
$cartArr=explode("|",$cart);
/* используем уже известную нам функцию explode, чтобы получить массив с идентификаторами товаров в корзине */
if ($cart!="") {
/* если корзина не пуста */
foreach($cartArr as $k=>$v) {
$result=mysql_query("select * from products where id='$v'");
$row=mysql_fetch_array($
$number=$k+1;
$content=$content.$number." - ".$row['name']." - ".$row['price']." руб.<br/>";
}
/* этот фрагмент полностью повторяет часть третьей лабораторной работы – перебор всех элементов массива c идентификаторами и составление списка заказанных товаров */
}
}
return $content;
/* возвращаем переменную $content */
}
echo allorders();
/* выведем результат работы функции на экран */
?>
Если все сделано правильно, то результатом работы функции должно быть следующее:
Иванов Андрей
СПб, Невский, 26
ivanov@mail.ru
Заказ:
1 - Чайник электрический WV-231 – 2630 руб.
2 - Мясорубка MK-415 – 6400 руб.
После окончания выполнения всех лабораторных работ необходимо удалить все созданные таблицы в базе данных. Для этого необходимо создать файл delete.php со следующим содержанием:
<?
@mysql_connect("имя хоста","имя пользователя","пароль") or die("MySQL Connection Failed");
@mysql_select_db("имя базы данных") or die("MySQL Database Selection Failed");
mysql_query("delete products from products");
mysql_query("delete purchases from purchases");
?>
Информация о работе Создание интернет-магазина с помощью PHP и MySQL