Мутим интернет-магазин Roman AKA Docent Спецвыпуск Xakep, номер #043, стр. 043-008-6 // проходим массив $_SESSION выбирая оттуда id и количество товаров foreach ($_SESSION["tovar"] as $key => $value) { $query1="select*from hardware_shop where "; $query1 .="item_no=$key"; $result1=mysql_query($query1); while($row=mysql_fetch_array($result1)) { $aIN=htmlspecialchars($row["item_no"]); $aIT=htmlspecialchars($row["item_type"]); $aT=htmlspecialchars($row["title"]); $aT2=htmlspecialchars($row["title2"]); $aDEV=htmlspecialchars($row["developer"]); $aDESC=strings_addbreaks($row["description"]); $aPRICE=htmlspecialchars($row["price"]); $aST=htmlspecialchars($row["status"]); echo "<b>$aT2</b><br><b>Производитель:</b> $aDEV<br><b>Цена:</b> $aPRICE <b>у.е.</b><br>Технические характеристики</b><br>$aDESC<br>"; echo"<center><form method='post' action=edit_items.php?id=$aIN&q=$q&p=$aPRICE&category=$aIT&undercategory=$aT>количество в вашй корзине: <input type='text' name='q' size='2' maxlength='2' value='$value'> шт. <input type='submit' name='qu' value='изменить количество'></form> <form method='post' action=delete_items.php?id=$aIN&q=$q&p=$aPRICE&category=$aIT&undercategory=$aT><input type='submit' name='qu' value='убрать этот товар'></form> } } } Различные действия с корзиной, которые записываются в разных файлах, могут производиться таким образом // add_items.php – добавление товара в корзину $_SESSION["tovar"][$id]+=$q; // delete_items.php – удаление товара из корзины unset($_SESSION["tovar"][$id]); // edit_items.php – редактирование содержимого корзины $_SESSION["tovar"][$id]=$q; Это происходит, когда клиент заполнил форму о доставке и нажал на кнопку «оформить» // добавление в базу информации о сделанном заказе из формы, которую заполняет клиент (я не привожу ее здесь) $res=mysql_query("insert into transaction (date, fio, email, phone, address, datetime, comment, tovar) values ('$CurDate', '$fio', '$email', '$phone', '$address', '$time', '$comments', '$order')"); // отправляем менеджеру на почту информацию о заказе mail($MANAGER_EMAIL, "ВНИМАНИЕ! В вашем магазине сделан новый заказ!", "$CurDate\n\n Покупатель:\n $fio\n\n E-Mail покупателя:\n $email\n\n Телефоны покупателя:\n $phone\n\n Адрес покупателя:\n $address\n\n Желательно доставить:\n $time\n\n Комментарии:\n $comments\n\n Заказанные товары:\n $order\n // вычтем количество всех купленных товаров из тех, что хранятся в базе foreach ($_SESSION["tovar"] as $key => $value) { $query1="update hardware_shop set status='$aST' where "; $query1 .="item_no=$key"; $result1=mysql_query($query1); } // и наконец просто удалим текущую сессию, чтобы корзина стала пустой. session_destroy(); |