1

我已经使用 php 实现了简单的购物车。我可以在购物车中添加产品并将其添加到数组中。我在 url 上获取我的产品 id,当我根据 thar url id 单击添加到购物车按钮时,我从数据库中获取产品数据并添加到会话数组,但我的问题是当我添加相同的产品时,我会在会话中获得新条目,而不是更新该产品的数量。那么如果 produt_id 已经存在,我编写什么代码来更新购物车数量。?

这是 print_r 数组值,使用$_SESSION['cart'].

[cart] => Array
    (
        [0] => Array
            (
                [product-id] => 1
                [item] => mango
                [unitprice] => 20
                [quantity] => 1
            )
         [1] => Array
            (
                [product-id] =>2
                [item] => chickoo
                [unitprice] => 20
                [quantity] => 1
            )

    )
4

1 回答 1

1

听起来您需要确保product_id不在您的会话数组中。尝试以下

$found = false;
foreach($_SESSION['cart'] as $product)
{
    if($_REQUEST['product_id'] == $product['product_id']) {
        $found = true;
        break;
    }
}

if($found)
{
    $_SESSION['cart'][$_REQUEST['product_id']]['quantity'] += 1;
} else {
    // go get new product and add to $_SESSION['cart']
}
于 2013-05-25T13:19:15.723 回答