$row['jam_masuk'],
'pulang' => $row['jam_pulang']
];
}
// Buat thead
$thead = "
";
// Buat tbody
$tbody = '';
while ($row = mysqli_fetch_assoc($karyawan)) {
$tbody .= "";
$tbody .= "{$row['nama']} | ";
for ($tgl = 1; $tgl <= $jumlah_hari; $tgl++) {
$tanggal = sprintf('%04d-%02d-%02d', $tahun, $bulan, $tgl);
$hari = date('N', strtotime($tanggal)); // 6 = Sabtu, 7 = Minggu
// Tanggal ke depan, tampil abu
if ($tanggal > $today) {
$tbody .= "- | ";
}
// Sabtu/Minggu
elseif ($hari == 6 || $hari == 7) {
$tbody .= "X | ";
}
// Hari kerja, evaluasi absensi
else {
$status = '';
if (isset($absensi[$row['rfid']][$tanggal])) {
$data = $absensi[$row['rfid']][$tanggal];
if ($data['masuk'] && $data['pulang']) {
$status = 'hadir';
} elseif ($data['masuk']) {
$status = 'masuk';
} else {
$status = 'tidak_masuk';
}
} else {
$status = 'tidak_masuk';
}
if ($status == 'hadir') {
$tbody .= "✔ | ";
} elseif ($status == 'masuk') {
$tbody .= "● | ";
} else {
$tbody .= "- | ";
}
}
}
$tbody .= "
";
}
// Kirim JSON
echo json_encode([
'thead' => $thead,
'tbody' => $tbody
]);
?>