query("SELECT *, 'ibadah' AS tipe FROM rumah_ibadah"); while ($r = $q->fetch_assoc()) { $data[] = $r; } // ===== PENDUDUK (dengan umur otomatis) ===== $q2 = $conn->query(" SELECT p.id, p.nik, p.nama, p.jenis_kelamin, TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) AS umur, p.status_keluarga, p.status_perkawinan, p.status_hidup, p.alamat, p.lat, p.lng, p.no_hp, p.pekerjaan, p.penghasilan, p.status_ekonomi, p.pendidikan_terakhir, p.status_pendidikan, p.keluarga_id, p.rumah_ibadah_id, k.no_kk, r.nama AS nama_ibadah, r.jenis AS jenis_ibadah, (SELECT COUNT(*) FROM histori_bantuan hb WHERE hb.penduduk_id = p.id AND hb.status='selesai') AS total_bantuan, 'penduduk' AS tipe FROM penduduk p LEFT JOIN keluarga k ON p.keluarga_id = k.id LEFT JOIN rumah_ibadah r ON p.rumah_ibadah_id = r.id WHERE p.status_hidup = 'hidup' "); while ($r = $q2->fetch_assoc()) { $r['penghasilan'] = (float)$r['penghasilan']; $r['total_bantuan'] = (int)$r['total_bantuan']; $r['umur'] = (int)$r['umur']; $data[] = $r; } // ===== LAPORAN ===== $q3 = $conn->query(" SELECT l.*, p.nama AS nama_penduduk, 'laporan' AS tipe FROM laporan l LEFT JOIN penduduk p ON l.penduduk_id = p.id WHERE l.lat IS NOT NULL AND l.lng IS NOT NULL "); while ($r = $q3->fetch_assoc()) { $data[] = $r; } header('Content-Type: application/json'); echo json_encode($data, JSON_UNESCAPED_UNICODE);