更新数组中的特定值(购物车)

时间:2011-09-11 10:03:37

标签: php session shopping-cart

我正在尝试创建购物车。我已经创建了添加功能,如果产品ID已经存在于购物篮中,它将添加额外的数量。

这是我的问题:

如果您尝试将另外3个相同的产品添加到购物篮中已有的产品中 - 它只会增加1个,因为我使用了:$ _SESSION ['kurv'] [$ i] ['Antal “] ++;

如何创建它以将$ _POST ['iAntal']添加到SESSION?

$iName = $_GET['iName'];
$iId = $_GET['iId'];
$iPrice = $_GET['iPrice'];
$iAntal = $_POST['iAntal'];
$action = $_GET['action'];

     case "add":
        if(isset($_SESSION['kurv']))
                        {
                                $laengde=sizeof($_SESSION['kurv']);
                                for ($i=0; $i<$laengde; $i++)
                                {
                                        if (isset($_SESSION['kurv'][$i]))
                                        {
                                        if ($_SESSION['kurv'][$i]['ProductID'] == $iId)
                                                {
                                                        $fundet=1;
                                                        $_SESSION['kurv'][$i]['Antal']++;
                                                }
                                        }
                                }
                        }
                        if (!isset($fundet))
                        {
                                $kurv = array(
                                    'ProductID' => $iId,
                                    'Name' => $iName,
                                    'Price' => $iPrice,
                                    'Antal' => $iAntal
                                );
                                $_SESSION['kurv'][] = $kurv;
                        }
    break;

2 个答案:

答案 0 :(得分:2)

$_SESSION['kurv'][$i]['Antal'] += (int) $_POST['iAntal'];

答案 1 :(得分:0)

您可以添加许多产品:

$quantity = $_GET["quantity"];
$_SESSION['kurv'][$i]['Antal'] = $_SESSION['kurv'][$i]['Antal']+$quantity;