2011-09-11 5 views
0

장바구니를 만들려고합니다. add 함수를 만들었습니다. 여기서 productID가 이미 바구니에 있으면 수량이 추가되고 추가됩니다.배열의 특정 값 업데이트 (장바구니)

그리고 여기 내 문제입니다 :

당신이 바구니에 이미 존재하는 제품과 동일한 제품의 추가 3을 추가하려고하면 - 내가 사용하기 때문에 그것은 단지, 하나 더 추가 할 것입니다 : $ _SESSION [ '을 kurv '] [$ i] ['Antal '] ++;

$ _POST [ 'iAntal']을 (를) 세션에 추가하려면 어떻게해야합니까?

$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;