Я строю основную корзину. Корзина хранится в сеансе с использованием идентификаторов продуктов.
Я могу добавлять предметы и удалять их.
Если товар добавлен более одного раза, корзина считает несколько записей.
Я не уверен, как изменить эти количества.
При взрыве сеанса корзины это выглядит так: 1,2,1,1
3 товара 1 и 1 товара 1.
Если я удаляю продукт 1, он удаляет все идентификаторы 1, что верно.
Но я не уверен, как удалить только 1 из них или установить, сколько должно быть там.
Это мой код обработки:
// Process actions
$cart = $_SESSION['cart'];
@$action = $_GET['action'];
switch ($action) {
case 'add':
if ($cart) {
$cart .= ','.$_GET['id'];
} else {
$cart = $_GET['id'];
}
break;
case 'delete':
if ($cart) {
$items = explode(',',$cart);
$newcart = '';
foreach ($items as $item) {
if ($_GET['id'] != $item) {
if ($newcart != '') {
$newcart .= ','.$item;
} else {
$newcart = $item;
}
}
}
$cart = $newcart;
}
break;
$cart = $newcart;
break;
}
$_SESSION['cart'] = $cart;
Есть идеи?
Спасибо
Rob