first commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING);
|
||||
include 'koneksi.php';
|
||||
|
||||
header('Content-Type: text/csv; charset=utf-8');
|
||||
header('Content-Disposition: attachment; filename="Data_Keluarga_Prasejahtera_GeoPoverty.csv"');
|
||||
|
||||
$output = fopen('php://output', 'w');
|
||||
|
||||
// Header CSV
|
||||
fputcsv($output, [
|
||||
'ID',
|
||||
'Nama Kepala Keluarga',
|
||||
'Alamat',
|
||||
'Latitude',
|
||||
'Longitude',
|
||||
'Status Keluarga',
|
||||
'Jumlah Jiwa',
|
||||
'Daftar Anggota Keluarga (Nama - Hubungan - Pendidikan)',
|
||||
'Total Bantuan Diterima (Kali)',
|
||||
'Riwayat Bantuan (Detail)',
|
||||
'Laporan Darurat / Kondisi',
|
||||
'Tanggal Didata',
|
||||
'Terakhir Diubah'
|
||||
]);
|
||||
|
||||
$query = "
|
||||
SELECT
|
||||
k.id, k.nama_kepala_keluarga, k.alamat, k.latitude, k.longitude, k.status_keluarga, k.jumlah_kk, k.created_at, k.updated_at,
|
||||
(SELECT GROUP_CONCAT(CONCAT(nama, ' (', hubungan_keluarga, ' - ', pendidikan, ')') SEPARATOR ' | ') FROM anggota_keluarga WHERE kemiskinan_id = k.id) as rincian_anggota,
|
||||
(SELECT COUNT(id) FROM histori_bantuan WHERE kemiskinan_id = k.id AND status_penyaluran = 'tersalur') as total_bantuan,
|
||||
(SELECT GROUP_CONCAT(CONCAT(tanggal_bantuan, ': ', jenis_bantuan, ' - ', deskripsi_bantuan) SEPARATOR ' | ') FROM histori_bantuan WHERE kemiskinan_id = k.id AND status_penyaluran = 'tersalur') as riwayat_bantuan,
|
||||
(SELECT GROUP_CONCAT(CONCAT(DATE(created_at), ': ', kategori, ' - ', deskripsi) SEPARATOR ' | ') FROM laporan_kondisi WHERE kemiskinan_id = k.id) as laporan_darurat
|
||||
FROM kemiskinan k
|
||||
ORDER BY k.id DESC
|
||||
";
|
||||
|
||||
$result = mysqli_query($conn, $query);
|
||||
|
||||
if ($result) {
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
|
||||
// Clean status label
|
||||
$status = ucfirst(str_replace('_', ' ', $row['status_keluarga']));
|
||||
if ($row['status_keluarga'] == 'sudah_mampu') $status = 'Sudah Mampu';
|
||||
|
||||
fputcsv($output, [
|
||||
$row['id'],
|
||||
$row['nama_kepala_keluarga'],
|
||||
$row['alamat'],
|
||||
$row['latitude'],
|
||||
$row['longitude'],
|
||||
$status,
|
||||
$row['jumlah_kk'],
|
||||
$row['rincian_anggota'] ? $row['rincian_anggota'] : 'Belum didata',
|
||||
$row['total_bantuan'] . ' kali',
|
||||
$row['riwayat_bantuan'] ? $row['riwayat_bantuan'] : 'Tidak ada catatan bantuan',
|
||||
$row['laporan_darurat'] ? $row['laporan_darurat'] : 'Tidak ada laporan',
|
||||
$row['created_at'],
|
||||
$row['updated_at']
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
fclose($output);
|
||||
exit();
|
||||
?>
|
||||
Reference in New Issue
Block a user