1

mysql クエリからデータを選択する php スクリプト内でスプレッドシートを作成しようとしています。

クエリは機能し、以下のスクリプトは、結果セット全体を次のようにスプレッドシートに挿入するという意味で機能します。

ここに画像の説明を入力

私が理解できない唯一のことは、ユーザーごとに 4 つの列 (C、D、E、および F) の合計を合計できるように配列ループを変更する方法です。基本的に、ユーザー ID 48 の最後のレコードであることを認識して、合計の行を挿入し、次のユーザーに移動できるようにする必要があります。

私はそれがかなり簡単であるべきだと感じていますが、今はそれを理解できないようです. 他の唯一の要因は、このクエリを実行すると、すべてのユーザーが最大 5 つのレコードを持つことができるため、ユーザー 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