1

我正在尝试在从 mysql 查询中选择数据的 php 脚本中创建一个电子表格。

查询有效,并且我的以下脚本有效,因为它将我的整个结果集插入到我的电子表格中,如下所示:

在此处输入图像描述

我唯一不知道的是如何修改数组循环,以便我可以按用户汇总 4 列(C、D、E 和 F)的总数。本质上,它需要意识到它位于用户 ID 48 的最后一条记录中,因此我可以插入一行总计,然后移动到下一个用户。

我觉得它应该相当简单,但我现在似乎无法理解它。唯一的另一个因素是,当此查询运行时,每个用户最多可以有 5 条记录,因此我可以使用 USER ID 来关联用户,但如果有意义的话,记录将取决于 ID 和日期。

在为下一个用户编写信息之前,如何按用户分组并汇总他们的人数?

        $sql = "
            select 
             concat(u.first_name, '  ', u.last_name) as Name,
             t.ext_id as ID,
             t.total_talk_time_minutes as TalkTime,
             t.total_outbound as Outbound,
             t.total_inbound as Inbound,
             t.dealers_contacted as Dealers,
             t.date_of_report as Date
            From
                ambition.ambition_totals t
            INNER JOIN
                ambition.ambition_users u
            ON 
                t.extension = u.extension
            where
                date_of_report 
            between
                curdate() - interval 5 day and curdate()"  or die(mysqli_error( $conn));


            $result=mysqli_query($conn,$sql);


            $spreadsheet = new Spreadsheet();
            $sheet = $spreadsheet->getActiveSheet();

            $sheet->setCellValue('A1', 'Name');
            $sheet->setCellValue('B1', 'User ID');
            $sheet->setCellValue('C1', 'Talk Time Per Call');
            $sheet->setCellValue('D1', 'Outbound Calls');
            $sheet->setCellValue('E1', 'Inbound Calls');
            $sheet->setCellValue('F1', 'Dealer Contacts');
            $sheet->setCellValue('G1', 'Date');

            $rowNumber = 2;

              while($row = mysqli_fetch_assoc($result)) 
              {
                $col = 'A';

                foreach($row as $cell){
                    $sheet -> setCellValue($col.$rowNumber, $cell);
                    $col++;
                }

                $rowNumber++;
            }
4

0 回答 0