2014-07-15 84 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

希望這對你有所幫助。

相關問題