На главную Статьи Функции

Интернет магазин. Корзина на PHP (часть 4. Интерфейс)




.
Это последняя статья из серии статей про то, как сделать корзину для интернет магазина на PHP, в которой я опишу разработку интерфейса корзины, для управления количеством товаров их удаления.
Начнем с верстки таблицы, содержащей все товары, положенные пользователем в корзину:

<table>
<?php
for ($i=0; $i<$_SESSION[''prod_count'']; $i++) {
/* получаем информацию о товаре из базы данных */
$q=”SELECT * FROM products WHERE id=’”.$_SESSION[product_id][$i].”’”;
$query=mysql_query($q);
$prod_in_cart=mysql_fetch_assoc($query);
?>
<tr>
<td><?php echo $prod_in_cart[‘name’]?></td>
<td>
<!-- А дальше идут две формы для изменения количества товара и удаления -->
<form action=”<?php echo $_SERVER[‘REQUEST_URI’]?>” method=”POST”>
количество:<input type=”text” size=”3” value=”<?php echo $_SESSION[''product_count''][$i];?> name=”p_count” />
<input type=”hidden” value=”<?php echo $i;?>” name=”upd_id”/>
<input type=”submit” value=”Обновить” />
</form>
<form action=”<?php echo $_SERVER[‘REQUEST_URI’]?>” method=”POST”>
<input type=”hidden” value=”<?php echo $i;?>” name=”del_id” />
<input type=”Submit” value=”Удалить” />
</form>
</td>
<td><?php echo $_SESSION[''product_price''][$i];?></td>
<td><?php echo $_SESSION[''product_price''][$i]* $_SESSION[''product_count''][$i];?></td>
</tr>
<?php
}
?>
</table>
Тут кажется не должно возникнуть сложностей с пониманием. Первый столбец таблицы – название продукта, второй – обновить количество или удалить, третий – стоимость товара, четвертый – полная стоимость товара (цена товара умножить на его количество в корзине).
Следующий шаг – обработчик форм корзины. Как можно заметить, атрибут action каждой формы принимает значение REQUEST_URI, поэтому обработчик корзины должен быть на той же странице, на которой находится интерфейс.
1. Пользовтатель решил обновить количество товара в корзине, он ввел нужное количество в форме и нажал обновить. Здесь мы воспользуемся функцией update_cart() описанной в части 3.
<?php
if (isset($_POST[‘upd_id’])) {
update_cart($_POST[‘p_count’], $_POST[‘upd_id’]);
}
?>
- вот вообщем то и все, ничего сложного, когда у нас есть готовая функция – она все делает за нас. Аналогично с удалением:
2. Удаление товара:

<?php
if (isset($_POST[‘del_id’])) {
remove_from_cart($_POST[‘del_id’]);
}
?>

Ну вот вообщем-то и все. Что дальше? – оформление заказа, подтверждение, занесение информации о заказчике в базу данных и работа с заказом… но это уже совсем другая история.



© 2010-2019 При использовании материалов ссылка на сайт www.webchaynik.ru обязательна

обратная связь