php会话更新产品,如果ID已经在会话中

时间:2016-03-11 01:27:05

标签: php multidimensional-array session-variables

用户从之前的产品页面添加产品后,以下功能位于购物车页面上。问题是我需要多维数组来更新购物车中的数量,以便添加相同的产品代码。

有人可以帮我添加if语句,以便在添加相同的产品代码时增加数量吗?

喜欢这个答案,但我对购物车的加入是不同的。 PHP Sessions shopping cart: update product if it's already id the session

    function AddToCart()  
 {
 $cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
 $itemcount = isset($_SESSION

 ['itemcount']) ? $_SESSION['itemcount'] : 0; 
  {
   $i = array_search($_POST['productcode'], $cart[PRODUCTCODE]);
     $cart[PRODUCTCODE] [$itemcount] = $_POST['productcode']; 
     $cart[PRODUCTNAME] [$itemcount] =  $_POST['productname']; 
     $cart[QUANTITY][$itemcount] = intval($_POST['quantity']); 
     $cart[PRICE][$itemcount] = $_POST['price']; 

 $itemcount = $itemcount + 1; 
     if(strlen($error) == 0) { 
 $_SESSION['cart'] = $cart; 
 $_SESSION['itemcount'] = $itemcount; 
 } 
  return $error;

 }

1 个答案:

答案 0 :(得分:1)

试试这个。

//check for an existing match
$found = FALSE;
if($cart){
    $idx = 0;
    foreach($cart[PRODUCTCODE] as $idx => $product){
        if($product == $_POST['productcode']){
            $found = TRUE;
            break;
        }
    }
}
//if we found a match
if($found){
    $cart[QUANTITY][$idx] += intval($_POST['quantity']);
}
//otherwise add new item
else{
    //your other code here
}