2014-07-15 59 views
0

我正在尝试构建电子商务网站,并且在我的购物车页面中数量和产品价格不会相乘。它返回0.如果用户在购物车中添加产品,它将返回数量1和价格0,它会添加另一个数量进行更新并且价格为0. $ price = $ price * $ each_item ['quantity “];无法正常工作。这是代码。非常感谢你的回答!PHP产品的价格和数量不会增加

$i=0; 
foreach($_SESSION["cart_array"]as $each_item){ 
    $i++; 
    $item_id=$each_item['item_id']; 
    $sql=mysql_query("SELECT*FROM products WHERE id='$item_id' LIMIT 1"); 
    while($row = mysql_fetch_array($sql)){ 
     $product_name= $row["product_name"]; 
     $price=$row["price"]; 
    } 
    $price= $price * $each_item['quantity']; 
    $cartOutput.= "<h2>Product number: $i</h2>"; 
    $cartOutput.= "<p>Product ID:".$each_item['item_id']."</p>"."<br/>"; 
    $cartOutput.= "<p>Quantity:".$each_item['quantity']."</p>"."<br/>"; 
    $cartOutput.= "<p>Product name:".$product_name."</p>" ."<br/>"; 
    $cartOutput.= "<p>Price:".$price ."</p>"."<br/>"; 
} 
+2

您确定您的数据库在价格列中包含非零值吗? –

+0

$ row [“price”]的内容是什么? – VMai

+0

如果您喜欢,请考虑遵循以下简单的两步操作步骤:1.如果您尚未这样做,请提供适当的DDL(和/或sqlfiddle),以便我们可以更轻松地复制问题。 2.如果您尚未这样做,请提供与步骤1中提供的信息相符的所需结果集。 – Strawberry

回答

0
  1. 改为使用mysqliPDOmysql已弃用,可能会导致您遇到很多麻烦。想想SQL Inyection。

这里是关于PDO更多信息 http://php.net/manual/en/ref.pdo-mysql.php

以下是有关mysqli的 http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

  1. 确保数据被添加到当一个项目被添加到“购物车”会议阵列信息..一个好的做法可能是将数量默认设置为1。
+0

所有这个“答案”会更好在评论框 –

+0

谢谢你的回答和链接!这只是我的错误。在价格列中的数据库中,所有价格都在html段落标签中。 –

0

如果我是你,我会被检查,如果会话密钥“cart_array”是一个数组开始,如果包含任何有效的值:

$resultarray = $_SESSION["cart_array"]; 
    $count = count($resultarray); 
    if($count > 0) 
    { 
     foreach($resultarray as $result) 
     { 

     } 
    } else { 
     echo 'we have a problem'; 
    } 

检查,如果你有一个很好的连接如您的数据库,如果已经创建,并且你可以通过mysql_fetch_row()导入一行; http://php.net/manual/en/ref.mysql.php

希望这对你有所帮助。

相关问题