Я бы написал функцию добавления в корзину следующим образом:
function AddToBasket(){
if(is_numeric($_GET["ID"])){
$ProductID=(int)$_GET["ID"];
$_SESSION["Basket"][]=$ProductID;
$sOut.=ShowBasketDetail();
return $sOut;
}
}
В этой функции корзины покупок мы сохраняем идентификаторы товаров в массиве сеансов.
Вот что я хотел бы иметь в функции показа корзины:
function ShowBasket(){
foreach($_SESSION[Basket] as $ProductID){
$sql="select * from products where ProductID=$ProductID";
$result=mysql_query($sql);
$row=mysql_fetch_row($result);
echo "Product: ".$row[0];
}
}
Для каждого ProudctID в нашей корзине сеансов мы делаем запрос SQL для вывода информации о продукте.
Теперь последняя, но не менее важная функция очистки корзины:
function ClearBasket(){
unset($_SESSION[Basket]);
}
Не забудьте session_start();
, прежде чем добавлять какие-либо идентификаторы продуктов в свою корзину сеансов. Также не забывайте функцию mysql_connect();
, она нужна вам перед тем, как делать какие-либо запросы к базе данных.