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



我正在尝试创建一个购物车。我已经创建了add函数,如果productID已经存在于购物篮中,它将添加和额外的数量。

我的问题是:

如果您尝试在篮子中已经存在的产品中添加额外的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;

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

您可以添加许多产品:

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

最新更新