prepare("SELECT id, nama, jumlah_penduduk FROM wilayah WHERE id=?"); $wil->execute([$wid]); $w = $wil->fetch(); if (!$w) { http_response_code(404); echo 'Wilayah tidak ditemukan'; exit; } $stmt = $pdo->prepare(" SELECT wm.id, wm.nik_kk, wm.nama_kk, wm.penghasilan, wm.jumlah_jiwa, wm.sumber_air, wm.material_dinding, wm.status_verifikasi, (SELECT GROUP_CONCAT(jb.kode SEPARATOR ', ') FROM bantuan_sosial bs JOIN jenis_bantuan jb ON jb.id=bs.jenis_bantuan_id WHERE bs.warga_id=wm.id AND bs.is_aktif=1) AS bantuan FROM warga_miskin wm JOIN wilayah w ON w.id = ? WHERE ST_Contains(w.geom, wm.geom) ORDER BY wm.nama_kk "); $stmt->execute([$wid]); $rows = $stmt->fetchAll(); $miskin = count($rows); $dibantu = count(array_filter($rows, fn($r) => !empty($r['bantuan']))); $terverif = count(array_filter($rows, fn($r) => $r['status_verifikasi'] === 'terverifikasi')); $persen = $w['jumlah_penduduk'] > 0 ? round($miskin / $w['jumlah_penduduk'] * 100, 2) : 0; $cakupan = $miskin > 0 ? round($dibantu / $miskin * 100, 1) : 0; if ($format === 'json') { header('Content-Type: application/json'); echo json_encode(['status' => 'success', 'data' => [ 'nama' => $w['nama'], 'penduduk' => (int)$w['jumlah_penduduk'], 'miskin' => $miskin, 'dibantu' => $dibantu, 'terverif' => $terverif, 'persen' => $persen, 'cakupan' => $cakupan, ]]); exit; } ?>
| # | NIK | Nama KK | Jiwa | Penghasilan | Sumber Air | Dinding | Bantuan | Verifikasi |
|---|---|---|---|---|---|---|---|---|
| = $i+1 ?> | = htmlspecialchars($r['nik_kk'] ?: '-') ?> | = htmlspecialchars($r['nama_kk']) ?> | = $r['jumlah_jiwa'] ?: '-' ?> | Rp = number_format($r['penghasilan'],0,',','.') ?> | = htmlspecialchars($r['sumber_air'] ?: '-') ?> | = htmlspecialchars($r['material_dinding'] ?: '-') ?> | = htmlspecialchars($r['bantuan'] ?: '-') ?> | = htmlspecialchars($r['status_verifikasi']) ?> |
| Tidak ada data di wilayah ini. | ||||||||