我的购物车会话没有更新数量和总数

时间:2012-01-10 23:08:10

标签: php jquery mysql ajax

我不知道为什么我的购物车没有更新,无论我放置多少数量,它总是坚持1 ...例如当我输入2到输入表格并且我点击添加到购物车时,购物车仍然是1和它的价格。它没有增加

这是我的html表单

<p class="details-quantity">Qty <input id="<?=$row['ProductID']?>" name="addtocart" type="text" value=""><a class="addtocart" href="#"><img border="0" style="vertical-align: middle; margin: 0 0 0 7px; width: 78px;" src="images/catalog/add-to-cart-button.png"></a></p>

这是我的jquery函数

$(document).ready(function(){
   $('a.addtocart').click(function(){
    var qty = $(this).prev().val();
    var id = $(this).prev().attr('id');
    $.ajax({
        type: "POST",
        url: "classes/ajax.cart.php",
        data: "id="+id+"&qty="+qty,
        success: function(data){
         //alert(data);
         alert(data);
         location.reload();
        }
      });
      return false;
   });
});

这是我的添加到购物车功能

public function addToCart($id){
    if (isset($_SESSION['cart'][$id])){
      $_SESSION['cart'][$id]++;
      return true;
    } else {
      $_SESSION['cart'][$id] = 1;
      return true;
    }
    return false;
}

这是总价格和总项目功能

public function totalItems($cart){
  $num_items = 0;

    if (is_array($cart)){
      foreach($cart as $id => $qty){
        $num_items += $qty;
      }
    }
    return $num_items;
}


public function totalPrice($cart){
  $price = 0.0;

  if (is_array($cart)){
    foreach($cart as $id => $qty){
      $query = "SELECT ProductOverridePrice FROM gg_t_wsproducts WHERE ProductID = $id";
      $result = mysql_query($query);
      if ($result){
        $item_price = mysql_result($result, 0, 'ProductOverridePrice');
        $price += $item_price * $qty;
      }
    }
  }
  return $price;
}

这里是ajax php文件代码

 if (!isset($_SESSION['cart'])){
  $_SESSION['cart'] = array();
  $_SESSION['total_items'] = 0;
  $_SESSION['total_price'] = '0.00';
}

$cart = new myCart();

error_reporting(1);

$id = $_POST['id'];
$qty = $_POST['qty'];


    $cart->addToCart($id);
    $_SESSION['total_items'] = $cart->totalItems($_SESSION['cart']);
    $_SESSION['total_price'] = $cart->totalPrice($_SESSION['cart']);

0 个答案:

没有答案