2009-11-30 4 views
0

Je veux compter mes produits $ _SESSION ['cart'] (unités) de mon panier.compter les unités de session du tableau PHP

#check added stock 
      $units = (int) $_POST['units']; 
     $sizes_id = (int) $_POST['size_id']; 

     $in_stock = $db->GetScalar("SELECT p.units FROM products_sizes s 
            INNER JOIN products p ON p.product_id = s.product_id 
            WHERE s.id = '$sizes_id' LIMIT 1"); 

     $total = isset($_SESSION['cart'][$sizes_id]) ? $_SESSION['cart'][$sizes_id]['units'] : 0; 
     $total += $units; 

     if($total <= $in_stock) { 
      if(isset($_SESSION['cart'][$sizes_id])) { 
       $_SESSION['cart'][$sizes_id]['units'] = $total; 
      } else { 
       $_SESSION['cart'][$sizes_id] = array('size' => $sizes_id, 'units' => $total); 
      } 
      $msg = 'Added'; 
      $status = 1; 
     }else { 
      $msg = 'Product is not in the basket'; 
      $status = 0; 
     } 

Voici comment la sortie ressemble

Array(

[57] => Array 
    (
     [size] => 57 
     [units] => 5 
    ) 

[56] => Array 
    (
     [size] => 56 
     [units] => 1 
    ) 

)

+0

Ok Je ne sais pas si je suis arrivé à votre question, en cas de réponse 2 ou 6 ici? – Shiv

+0

la réponse devrait être 6 – william

Répondre

1

Ok ici va

<?php 
    $total_units = 0; 
    foreach ($_SESSION['cart'] as $key => $value) { 
     $total_units += $value['units']; 
    } 

echo $total_units; 

?>

devrait obtenir la réponse

+0

YEAH thx alot !!! – william

1

Cela devrait faire le travail:

$numUnits = 0; 

foreach ($yourArray as $item) 
    $numUnits += $item['units']; 
Questions connexes