我在用户购物车上有一个项目列表,需要找到一种方法来为每个产品添加价格。它必须首先检查每个用户的购物车表中的产品ID,然后检查产品表以获取价格。
这是获取产品信息和购物车项目的代码(用于列表目的):
$grabProducts = $connect->prepare("SELECT `product`, `quantity` FROM `cart` WHERE `session` = ? ORDER BY `id` DESC");
$grabProducts->bind_param('s', $sessionCode);
$grabProducts->execute();
$grabProducts->bind_result($productId, $productQuantity);
$grabProducts->store_result();
while($grabProducts->fetch()) {
$grabProductInformation = $connect->prepare("SELECT `name`, `description`, `shortname`, `game`, `server`, `price` FROM `products` WHERE `id` = ?");
$grabProductInformation->bind_param('i', $productId);
$grabProductInformation->execute();
$grabProductInformation->bind_result($productName, $productDescription, $productShort, $productGame, $productServer, $productPrice);
$grabProductInformation->store_result();
$grabProductInformation->fetch();
$grabProductInformation->free_result();
$grabProductInformation->close();
}
从每个项目中获取总价的最佳方法是什么?
答案 0 :(得分:3)
在你的循环中,从数据库中获取产品价格后,使用变量来保存总价值,当你的循环结束时,你将获得结果中所有价格的总和。
$sum=0;
while($grabProducts->fetch()) {
// existing code here
$sum+=$productPrice;
}
echo $sum;
答案 1 :(得分:0)
select sum(products.price) from cart,products where cart.product=products.id and cart.session=?