我有一个用户购物车上的商品列表,需要找到一种方法来将每个产品的价格相加。它必须首先从购物车表中为每个用户检查产品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();
}
获得每件商品的总价格的最佳方法是什么?
在循环中,从数据库中获取产品价格后,使用一个变量来保存总值,当循环结束时,结果中会有所有价格的总和。
$sum=0;
while($grabProducts->fetch()) {
// existing code here
$sum+=$productPrice;
}
echo $sum;
select sum(products.price) from cart,products where cart.product=products.id and cart.session=?