medoo php 使用sum带多条件对多个字段进行求和 并 echo每个字段求和的值的php实现代码
时间: 2024-10-16 08:12:21 浏览: 27
在Medoo PHP中,如果你想对多个字段进行多条件的求和,可以稍微调整一下之前的代码。假设你想按条件对某个表的`quantity`和`price`字段分别进行求和,同时添加额外的条件,例如`category_id`等于特定值。以下是相应的代码实现:
```php
<?php
require 'medoo.php'; // 包含Medoo库
// 初始化Medoo实例
$db = new Medoo([
'database_type' => 'mysql',
'database_name' => 'your_database_name',
'server' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'charset' => 'utf8'
]);
// 定义查询条件
$conditions = [
'status' => 'completed',
'created_at[>]' => '2023-01-01',
'category_id' => 1, // 添加新的条件,比如category_id为1
];
// 定义需要求和的字段及其别名
$sumFields = ['quantity', 'price'];
$selectFields = [];
foreach ($sumFields as $field) {
$alias = $field . '_sum';
$selectFields[] = "$field AS $alias";
}
// SQL 查询,这里用Medoo的query方法代替select方法,因为query更灵活
$queryResult = $db->query('SELECT ' . implode(',', $selectFields) . ' FROM orders WHERE ' . implode(' AND ', $conditions));
// 检查查询结果
if ($queryResult) {
$resultArray = $queryResult->fetchAll(); // 获取所有行的数据
foreach ($resultArray as $row) {
foreach ($sumFields as $field) {
echo $field . ': ' . $row[$field . '_sum'] . "\n";
}
}
} else {
echo "No data found.";
}
```
这段代码增加了`category_id`条件,并将求和字段的别名和字段本身一起存储在`$selectFields`数组中。然后使用Medoo的`query`方法执行查询,获取所有满足条件的记录的求和结果。如果没有找到数据,就输出"No data found."。
阅读全文