我的数据库中有一个产品请求表。
我现在正在总结用户的请求。显示所有用户的请求而不重复产品名称(应该是唯一的),并获得总数量和金额。
这是我的代码和迄今为止我尝试过的内容。我尝试使用独特的数组。
$all_product_name = array();
foreach ( $rows as $row ) {
$all_product_name[] = $row;
$allproduct = array_unique( $all_product_name );
}
foreach ($allproduct as $product) {
print_r($product);
}
这给了我所有的产品,而不是唯一的产品名称。
我想要做的只是展示唯一的产品名称,以及所有产品的数量和数量的总和。
我被困,有什么帮助和想法?
答案 0 :(得分:1)
解决方案1:使用查询,就像在mysql中那样 - 选择sum(prod_quantity),sum(prod_amount)group by prod_name
解决方案2:遍历行以创建prod_name的关联数组
foreach($rows as $row) {
$prod_name = $row['prod_name'];
$prod[$prod_name]['amount'] = $prod[$prod_name]['amount'] + $row['prod_amount'];
$prod[$prod_name]['quantity'] = $prod[$prod_name]['quantity'] + $row['prod_quantity'];
}
输出将如下:
Array
(
[Product1] => Array
(
[amount] => 2600 //sum of prod_amount
[quantity] => 6 //sum of prod_quantity
)
[Product2] => Array
(
[amount] => 6600
[quantity] => 5
)
)