query("SELECT bd.*, rm.nama_kepala_keluarga, rm.kelurahan FROM bencana_terdampak bd JOIN rumah_miskin rm ON bd.warga_id = rm.id WHERE bd.bencana_id = $bid ORDER BY bd.id DESC"); $list = []; while ($r = $q->fetch_assoc()) { $list[] = $r; } echo json_encode(['status' => 'sukses', 'data' => $list]); exit; } // 2. Tambah warga terdampak (Tandai & Prioritaskan) if ($_GET['ajax_aksi'] === 'tambah_terdampak' && $_SERVER['REQUEST_METHOD'] === 'POST') { $bid = intval($_POST['bencana_id']); $wid = intval($_POST['warga_id']); $tingkat = bersih($_POST['tingkat'], $conn); $ket = bersih($_POST['keterangan'], $conn); // Cek apakah warga sudah ditandai di bencana ini sebelumnya $cek = $conn->query("SELECT id FROM bencana_terdampak WHERE bencana_id = $bid AND warga_id = $wid"); if ($cek->num_rows > 0) { echo json_encode(['status' => 'gagal', 'pesan' => 'Warga ini sudah ditandai terdampak dalam bencana ini!']); exit; } // Insert ke bencana_terdampak $insert = $conn->query("INSERT INTO bencana_terdampak (bencana_id, warga_id, tingkat, keterangan) VALUES ($bid, $wid, '$tingkat', '$ket')"); if ($insert) { // Update status prioritas warga menjadi 1 (Prioritas Bencana) di tabel rumah_miskin $conn->query("UPDATE rumah_miskin SET prioritas = 1, updated_at = NOW() WHERE id = $wid"); echo json_encode(['status' => 'sukses']); } else { echo json_encode(['status' => 'gagal', 'pesan' => 'Gagal menyimpan data ke database.']); } exit; } // 3. Hapus warga terdampak (Batalkan Prioritas) if ($_GET['ajax_aksi'] === 'hapus_terdampak' && $_SERVER['REQUEST_METHOD'] === 'POST') { $bd_id = intval($_POST['id']); // Ambil warga_id terlebih dahulu sebelum dihapus untuk keperluan update prioritas $data_bd = $conn->query("SELECT warga_id FROM bencana_terdampak WHERE id = $bd_id")->fetch_assoc(); if ($data_bd) { $wid = $data_bd['warga_id']; // Hapus dari riwayat terdampak bencana $delete = $conn->query("DELETE FROM bencana_terdampak WHERE id = $bd_id"); if ($delete) { // Cek apakah warga ini masih terlibat di bencana aktif lainnya $cek_lain = $conn->query("SELECT bd.id FROM bencana_terdampak bd JOIN bencana b ON bd.bencana_id = b.id WHERE bd.warga_id = $wid AND b.status = 'Aktif'"); if ($cek_lain->num_rows === 0) { // Jika tidak ada bencana aktif lain, kembalikan status prioritasnya ke 0 $conn->query("UPDATE rumah_miskin SET prioritas = 0, updated_at = NOW() WHERE id = $wid"); } echo json_encode(['status' => 'sukses']); } else { echo json_encode(['status' => 'gagal', 'pesan' => 'Gagal menghapus data terdampak.']); } } else { echo json_encode(['status' => 'gagal', 'pesan' => 'Data tidak ditemukan.']); } exit; } } // Query data utama halaman $bencanaList = $conn->query("SELECT b.*, u.nama_lengkap AS petugas, COUNT(bd.id) AS jml_terdampak FROM bencana b LEFT JOIN users u ON b.dibuat_oleh=u.id LEFT JOIN bencana_terdampak bd ON b.id=bd.bencana_id GROUP BY b.id ORDER BY b.status ASC, b.tanggal DESC"); $semuaKpm = $conn->query("SELECT id, nama_kepala_keluarga, kelurahan, kondisi_rumah FROM rumah_miskin ORDER BY nama_kepala_keluarga ASC"); include 'includes/sidebar.php'; ?>
Catat kejadian bencana dan tandai warga terdampak sebagai prioritas bantuan
| # | Nama Bencana | Jenis | Tanggal | Lokasi | Terdampak | Status | Aksi |
|---|---|---|---|---|---|---|---|
| Belum ada data bencana | |||||||
| = $no++ ?> |
= htmlspecialchars($b['nama_bencana']) ?>
= htmlspecialchars($b['lokasi']??'') ?>
|
'badge-blue','Kebakaran'=>'badge-red','Gempa Bumi'=>'badge-orange','Longsor'=>'badge-yellow','Angin Puting Beliung'=>'badge-purple','Lainnya'=>'badge-gray']; echo ''.$b['jenis'].''; ?> | = date('d M Y',strtotime($b['tanggal'])) ?> | = htmlspecialchars($b['lokasi']??'-') ?> | = $b['jml_terdampak'] ?> KK | = $b['status'] === 'Aktif' ? 'โ Aktif' : 'โ Selesai' ?> |
|
| Nama KK | Kondisi Rumah | Terdampak Bencana | Tingkat | Status Bantuan |
|---|---|---|---|---|
| Tidak ada warga prioritas saat ini | ||||
| = htmlspecialchars($r['nama_kepala_keluarga']) ?> | = $r['kondisi_rumah'] ?> | = htmlspecialchars($r['nama_bencana']??'-') ?> | 'badge-yellow','Sedang'=>'badge-orange','Berat'=>'badge-red']; echo ''.($r['tingkat']??'-').''; ?> | 'badge-green','Belum Terbantu'=>'badge-red','Sudah Menerima'=>'badge-blue']; echo ''.$r['status_bantuan'].''; ?> |