$rows){ $first = $rows[0]; // Customer name logic $str_name = ($first['dif_name'] == 'name') ? $first['user_name'] : $first['dif_name']; echo $first['refid'] . '    ' . $str_name . '    ' . date('d-m-Y', strtotime($first['order_date_time'])) . '
'; if($first['no_note'] != 'nonote'){ echo 'Note: ' . $first['no_note'] . '
'; } echo ""; foreach($rows as $row){ echo ""; } echo "
{$row['product_name']} {$row['product_url']} {$row['qty']}

"; } // ========================================== // 3️⃣ GROUP BY COMPANY (Only 1 more loop) // ========================================== $company_group = []; foreach($data as $orderRows) { foreach($orderRows as $row) { $company_group[$row['company_id']]['name'] = $row['company_name']; $company_group[$row['company_id']]['products'][$row['product_id']]['name'] = $row['product_name']; $company_group[$row['company_id']]['products'][$row['product_id']]['product_url'] = $row['product_url']; if (!isset($company_group[$row['company_id']]['products'][$row['product_id']]['qty'])) { $company_group[$row['company_id']]['products'][$row['product_id']]['qty'] = 0; } $company_group[$row['company_id']]['products'][$row['product_id']]['qty'] += $row['qty']; } } // PRINT COMPANY WISE GROUPING foreach($company_group as $company){ echo "
" . strtoupper($company['name']) . "
"; echo ""; foreach($company['products'] as $p){ echo ""; } echo "
PRODUCT CONTENT QTY
{$p['name']} {$p['product_url']} {$p['qty']}

"; } ?>