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

42 lines
1.1 KiB
PHP

<?php
include '../koneksi.php';
include '../auth.php';
requireLogin();
$rows = mysqli_fetch_all(mysqli_query($conn,
"SELECT p.*, i.nama AS ibadah_nama,
DATE_FORMAT(p.tanggal_bantuan,'%d/%m/%Y') AS tgl_fmt
FROM penduduk_miskin p
LEFT JOIN rumah_ibadah i ON i.id = p.rumah_ibadah_id
ORDER BY p.kk_nama"), MYSQLI_ASSOC);
$date = date('Y-m-d');
header('Content-Type: text/csv; charset=UTF-8');
header("Content-Disposition: attachment; filename=penduduk_miskin_{$date}.csv");
$out = fopen('php://output', 'w');
// UTF-8 BOM for Excel
fwrite($out, "\xEF\xBB\xBF");
fputcsv($out, ['No','Nama KK','NIK','Alamat','Jumlah Anggota','Rumah Ibadah Terdekat','Jarak (m)','Status Bantuan','Jenis Bantuan','Tanggal Bantuan','Latitude','Longitude']);
$i = 1;
foreach ($rows as $r) {
fputcsv($out, [
$i++,
$r['kk_nama'],
$r['nik'],
$r['alamat'],
$r['jumlah_anggota'],
$r['ibadah_nama'] ?: '-',
$r['jarak_meter'] ? round($r['jarak_meter']) : '-',
$r['status_bantuan'],
$r['jenis_bantuan'],
$r['tgl_fmt'] ?: '-',
$r['lat'],
$r['lng'],
]);
}
fclose($out);