Files
Wilhelmus Ikchan Dwi Putra c8e75593cb Upload semua tugas SIG
2026-06-13 00:45:23 +07:00

54 lines
1.7 KiB
PHP

<?php
// get_poverty_data.php
header('Content-Type: application/json');
// Pastikan koneksi ke database Anda sudah benar
$conn = new mysqli("localhost", "root", "", "db_poverty_mapping");
if ($conn->connect_error) {
die(json_encode(['error' => 'Koneksi database gagal: ' . $conn->connect_error]));
}
$res = ['ibadah' => [], 'warga' => []];
// 1. Query Data Rumah Ibadah
$sql_ib = $conn->query("SELECT * FROM data_rumah_ibadah");
if ($sql_ib) {
while($r = $sql_ib->fetch_assoc()) {
$geo = json_decode($r['geojson'], true);
// Proteksi jika data geojson kosong atau gagal didecode
if ($geo && isset($geo['geometry']['coordinates'])) {
$res['ibadah'][] = [
'id' => $r['id'],
'nama' => $r['nama_ibadah'],
'agama' => $r['jenis_agama'],
'lng' => $geo['geometry']['coordinates'][0],
'lat' => $geo['geometry']['coordinates'][1]
];
}
}
}
// 2. Query Data Warga Prasejahtera (PERBAIKAN UTAMA DI SINI)
$sql_w = $conn->query("SELECT * FROM data_warga");
if ($sql_w) {
while($r = $sql_w->fetch_assoc()) {
// Tambahkan parameter ', true' agar JSON di-decode menjadi Array, bukan Object
$geojson_array = json_decode($r['geojson'], true);
$res['warga'][] = [
'id' => $r['id'],
'nama' => $r['nama_kk'],
'klasifikasi' => $r['klasifikasi'],
'luas' => $r['luas_meter'],
'solusi' => $r['rekomendasi_solusi'],
'geojson' => $geojson_array // Sekarang formatnya sudah serasi dengan Leaflet
];
}
}
// Keluarkan hasil akhir berupa JSON clean
echo json_encode($res);
$conn->close();
?>