Files
D1041231014_ProvertyMapping/01/api/read_semua_warga.php
T
2026-06-07 19:10:40 +07:00

67 lines
1.8 KiB
PHP

<?php
header('Content-Type: application/json');
require_once 'db_config.php';
$sql = "
SELECT
w.id as warga_id,
w.kemiskinan_id,
w.nik,
w.nama_warga,
w.hubungan_keluarga,
w.tanggal_lahir,
w.pendidikan,
w.riwayat_penyakit,
k.nama_kk,
k.alamat,
k.jumlah_kk,
(SELECT COUNT(*) FROM histori_bantuan hb WHERE hb.kemiskinan_id = k.id) as jumlah_bantuan
FROM warga w
LEFT JOIN kemiskinan k ON w.kemiskinan_id = k.id
ORDER BY w.updated_at DESC
";
$result = $conn->query($sql);
$data = [];
if ($result) {
while($row = $result->fetch_assoc()) {
// Hitung kategori berdasarkan jumlah_kk dari tabel kemiskinan
$jumlah = intval($row['jumlah_kk'] ?? 1);
$kategori = 'Hampir Miskin';
$badge_color = '#3b82f6'; // Blue
if($jumlah >= 5) {
$kategori = 'Sangat Miskin';
$badge_color = '#dc2626'; // Red
} else if($jumlah >= 3) {
$kategori = 'Miskin';
$badge_color = '#ea580c'; // Orange
}
// Hitung umur
$usia = '-';
if (!empty($row['tanggal_lahir'])) {
$bday = new DateTime($row['tanggal_lahir']);
$today = new DateTime('today');
$usia = $bday->diff($today)->y . ' thn';
$tgl_format = $bday->format('d M Y');
} else {
$tgl_format = '-';
}
$row['kategori_label'] = $kategori;
$row['kategori_color'] = $badge_color;
$row['usia_label'] = $usia;
$row['tgl_lahir_format'] = $tgl_format;
$data[] = $row;
}
echo json_encode(["status" => "success", "data" => $data]);
} else {
echo json_encode(["status" => "error", "message" => $conn->error]);
}
$conn->close();
?>