php - 如何使用php计算多个数据库行中数字数组元素的总和?
问题描述
我需要计算 MySQL 数据库行的列中存在的多行元素的数量,并将它们加在一起。这是我用来计算数组元素数量(用逗号分隔的数字)的代码:
$result = substr_count($count_fetch['micro_analysis'], ",") + 1;
但现在我需要为每一行执行此操作,这可能因查询而异。我需要将$result
每一行的 加在一起以获得所有行的最终总和。我使用了以下代码,但我得到了不正确的值,有人可以指出我正确的方向吗?
$sql = "SELECT * FROM samples_database WHERE order_id = $order_id";
$count_query = mysqli_query($conn, $sql);
$count_fetch = mysqli_fetch_assoc($count_query);
foreach ($count_fetch as $row) {
$result = substr_count($count_fetch['micro_analysis'], ",") + 1;
$end_result += $result;
}
echo $end_result;
解决方案
将您的代码替换为以下内容:
$sql = "SELECT * FROM samples_database WHERE order_id = $order_id";
$count_query = mysqli_query($conn, $sql);
$count_fetch = mysqli_fetch_assoc($count_query);
$end_result=0;//initialize variable to 0
foreach ($count_fetch as $k => $row) {
if($k == 'micro_analysis'){
$result = substr_count($row, ",") + 1; //change over here
$end_result += $result;
}
}
echo $end_result;
推荐阅读
- ssl - 向多台服务器广播 rtmps 流
- c - 如果我用 SIGPIPE 终止进程,为什么 WIFSIGNALED 为假 + 为什么退出代码 256?
- java - 如何将 MySQL 转换为条件查询?
- android - Firebase 实时数据库与存储
- python-3.x - 如何将包含单引号和双引号值的 Python 列表转换为所有双引号值
- sql-server - SSISDB 说包正在运行,但它没有
- python - pandas - drop_duplicates 没有按预期工作
- acumatica - 为什么我的覆盖字段在 CRActivityMaint 上没有生效
- ruby-on-rails - ArgumentError:无效的元素数(3 for 1..2)rake aborted
- meteor - Meteor swiper 滑块需要时间来加载图像和视频?