2013-04-14 39 views
0

我有PHP電子商務網站,添加到購物籃錯誤。 (PHP幫助)

我建立一個電子商務網站(課程爲UNI) 一個問題,我創建了購物籃的一部分。

我能產品添加到購物籃(有名稱,價格,ID顯示&量),但是,無論產品我添加到它始終顯示標題的籃子,價格在數據庫& ID的第一款產品。

(例如,我可以添加2項數據庫,他們都將擁有第一個項目的數據庫標題)

(代碼顯示產品在籃下) 謝謝

if(isset($_SESSION['cart']) && count($_SESSION['cart']) > 0){ 
    foreach($_SESSION['cart'] as $product_id => $qty){ 

     $sql = "SELECT post_title, price, post_id FROM products"; 
      $result = mysql_query($sql); 

      if(mysql_num_rows($result) > 0) { 
      list($name, $price, $id) = mysql_fetch_row($result); 

       echo "ID " . $product_id . " " . $name ." " . "Price : " . $price . " DB ID " . $id ." Quantity = " . $qty . "<br/>"; 
      } 
    } 

echo "<td colspan=\"3\" align=\"right\"><a href=\"$_SERVER[PHP_SELF]?empty\" onclick=\"return confirm('Are you sure?');\">Empty Cart</a></td>"; 

}else{ 

echo "0"; 
} 
+0

將$ _SESSION ['cart']中的數據看起來像添加一個示例將有助於找到問題。 –

回答

1

您需要爲查詢添加WHERE子句。

$sql = "SELECT post_title, price, post_id FROM products WHERE `id` = '$product_id'"; 

目前所有的查詢做的是一切從數據庫表,然後您選擇的第一行。

WHERE子句限制您的查詢僅取得匹配產品的一行,請注意您可能需要更改產品ID列的列名稱。

雖然個人建議,而不是從每個頁面加載數據庫中獲取產品,假設沒有人會添加旺盛的產品量到您的購物車,只需將產品信息存儲在購物車會話密鑰。

相關問題