我的網站增加了產品標識的會話變量時,點擊產品頁面上的按鈕(稱爲「itemarray」數組)。當用戶打開自己的購物車,下面的代碼執行:如何用一個以上的SUM()創建一個mySQL語句?
<?php
$cart = implode(',', $_SESSION['itemarray']);
/*Create connection to DB here. DB connection is called $connection.*/
$result = $connection->query("SELECT SUM(Price) AS Total_Price, SUM(Tax) AS Total_Tax, SUM(Shipping) AS Total_Shipping FROM STOCK_LIST WHERE Product_ID IN ($cart)");
while ($rows = $result->fetch_assoc()) {
/*Output query result into table*/
}
/*Terminate the connection to the database*/
$connection->close();
?>
的第一行代碼穿過itemarray並追加每個元素到逗號分隔的列表(稱爲$車)。與數據庫建立了連接(因爲它已經被測試,代碼已被刪除),並且提交了一個查詢,詢問$ cart中物品的總價格,稅金和運費。然後運行一個while循環,它將$ results變量的內容回顯到一個表格中(由於它已經被測試,代碼已被刪除)。
的問題是計算總計不被輸出。 implode函數按預期工作,正在建立連接,並且正在創建表(只是沒有查詢輸出),所以我只能假定查詢是問題。
下面看看我的解決方案。基本上你需要更新你的implode代碼來用單引號包裝數據。 –