首页 > 解决方案 > 如何使用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;

标签: php

解决方案


将您的代码替换为以下内容:

$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;

推荐阅读