54 lines
1.7 KiB
PHP
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();
|
|
?>
|