2011-09-11 60 views
0

我正在嘗試創建購物車。我已經創建了add函數,如果productID已經存在於購物籃中,那麼它會添加額外的數量。更新數組中的特定值(購物車)

而且這裏是我的問題:

如果您嘗試在同一產品的多出3添加到籃下已經存在的產品 - 它只會添加1個,因爲我用:$ _SESSION [」 kurv '] [$ i]於[' 安塔爾'] ++;

如何創建它以將$ _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

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

+0

大弗拉菲烏斯。完美的作品:-) – skolind

0

您可以添加許多產品具有這樣的:

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