Files
Athallah Ghathfan Aqila 6215b4367a Initial commit — WebGIS UAS GeoMiskin
Sistem WebGIS analisis sebaran penduduk miskin dan jangkauan rumah ibadah.
Fitur: peta interaktif Leaflet.js, CRUD rumah ibadah & penduduk miskin,
auto-kategorisasi haversine, heatmap, export PDF/CSV, dashboard analitik,
manajemen pengguna (superadmin/admin), login sistem.

Teknologi: PHP, MySQL, Leaflet.js, OpenStreetMap, Nominatim Geocoding, mPDF.

Catatan: jalankan `composer install` di folder uas/ untuk install dependencies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 13:31:33 +07:00

41 lines
1.1 KiB
PHP

<?php
header('Content-Type: application/json');
include '../koneksi.php';
include '../auth.php';
requireLogin();
// Rumah Ibadah
$ibadah = mysqli_fetch_all(
mysqli_query($conn, "SELECT * FROM rumah_ibadah ORDER BY nama"),
MYSQLI_ASSOC
);
// Penduduk miskin with anggota count
$penduduk_raw = mysqli_fetch_all(
mysqli_query($conn,
"SELECT p.*, COUNT(a.id) as jumlah_anggota_db
FROM penduduk_miskin p
LEFT JOIN anggota_keluarga a ON a.penduduk_id = p.id
GROUP BY p.id
ORDER BY p.kk_nama"),
MYSQLI_ASSOC
);
// Attach anggota keluarga to each penduduk
$penduduk = [];
foreach ($penduduk_raw as $p) {
$pid = (int)$p['id'];
$anggota = mysqli_fetch_all(
mysqli_query($conn, "SELECT * FROM anggota_keluarga WHERE penduduk_id = $pid ORDER BY id"),
MYSQLI_ASSOC
);
// Use jumlah_anggota from table if set, else count from anggota table
if (empty($p['jumlah_anggota'])) {
$p['jumlah_anggota'] = count($anggota) ?: 1;
}
$p['anggota'] = $anggota;
$penduduk[] = $p;
}
echo json_encode(['ibadah' => $ibadah, 'penduduk' => $penduduk]);