'; $html .= '

DATA ABSENSI

'; $html .= '

BULAN ' . strtoupper(date('F', mktime(0, 0, 0, $bulan, 1))) . ' ' . $tahun . '

'; $html .= '

'; $html .= ''; $html .= ''; $prev_name = ''; $summary = []; $data_absen = []; // Susun data absensi while ($row = mysqli_fetch_assoc($result)) { $nama = $row['nama']; $tanggal = $row['tanggal']; if (!isset($data_absen[$nama])) { $data_absen[$nama] = []; } $data_absen[$nama][$tanggal] = [ 'masuk' => $row['jam_masuk'], 'pulang' => $row['jam_pulang'], ]; } // Rekap per karyawan foreach ($data_absen as $nama => $absensi) { $hadir = 0; foreach ($hari_kerja as $tgl) { if (isset($absensi[$tgl]) && $absensi[$tgl]['masuk'] && $absensi[$tgl]['pulang']) { $hadir++; } } $tidak_hadir = $total_hari_kerja - $hadir; $html .= ""; } $html .= '
Nama Hadir (Hari) Tidak Hadir (Hari) Total Hari Kerja
{$nama} {$hadir} {$tidak_hadir} {$total_hari_kerja}
'; $html .= '
Jakarta, ' . date('d F Y') . '

Admin




Mengetahui, Manajer Operasional

'; $html .= ''; mysqli_close($conn); // DOMPDF $options = new Options(); $options->set('isHtml5ParserEnabled', true); $dompdf = new Dompdf($options); $dompdf->loadHtml($html); $dompdf->setPaper('A4', 'portrait'); $dompdf->render(); $dompdf->stream("Rekap_Absensi_Bulan_$bulan-$tahun.pdf", array("Attachment" => 0)); ?>