You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP结合数据库查询与curl拉取多API销售数据如何计算总和

实现方案

你只需要新增一个全局累加变量即可完成销售额统计,修改后的代码如下:

<table>
<tr>
        <th>Name</th>
        <th>datesale</th>
        <th>sale</th>
    </tr>
        <?php
        // 初始化总销售额变量,初始值为0
        $total_sale = 0;
        $query = 
        "SELECT 
        * 
        FROM 
        user 
        ";
        
        $result = mysqli_query($conn, $query);
        while($row = mysqli_fetch_array($result))
        {
        $id= $row['id'];
        $fname = $row['fname'];
        $lname = $row['lname'];
        $address = $row['address'];
        $userid = $row['userid'];
    
            //* API //
            $url = 'api.sample.com/'.$userid;
            $ch=curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $r=curl_exec($ch);
            curl_close($ch);
            $data = json_decode($r, true);
            // 数组键名需加单引号,避免PHP抛出未定义常量警告
            $datesale =$data['datesale'];
            $sale=$data['sale'];
            // 累加当前销售额到总变量
            if(is_numeric($sale)) {
                $total_sale += $sale;
            }
            ?>
           <tr>
            <td><?php echo $fname. " " .$lname;?></td>
            <td class="centralize"><?php echo $datesale;?></td>
            <td class="centralize"><?php echo $sale;?></td>
        <?php } ?> 
        <!-- 新增行显示总销售额 -->
        <tr>
            <td colspan="2" style="text-align:right;font-weight:bold;">总销售额:</td>
            <td class="centralize" style="font-weight:bold;"><?php echo $total_sale;?></td>
        </tr>
        </table>

核心逻辑说明

  • 在循环查询用户之前先定义$total_sale变量,初始值设为0,用来存储累加的销售额
  • 每次调用接口拿到单个用户的sale值后,将当前销售额累加到总变量中,同步增加了数字类型判断,避免第三方接口返回异常时导致累加错误
  • 所有用户循环结束后,在表格最后新增一行输出$total_sale即可得到所有销售额的总和

额外优化建议

原代码中date_default_timezone_set('Asia/Manila')不需要放在循环里,放在文件顶部执行一次即可,避免重复执行浪费性能。

内容的提问来源于stack exchange,提问作者user13789330

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 04:30:06