2011-09-11 7 views
0

Я пытаюсь создать корзину покупок. Я создал функцию добавления, где, если идентификатор продукта уже существует в корзине, он добавит и добавит к количеству.Обновление определенного значения в массиве (Корзина)

И вот моя проблема:

При попытке добавить дополнительный 3 из тех же продуктов в уже существующий продукт в корзине - это будет только добавить еще один, потому что я использовал: $ _SESSION [» KURV '] [$ я] [' Антал '] ++;

Как его создать, чтобы добавить $ _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; 
Смежные вопросы