diff --git a/publik/api/get_all_bantuan.php b/publik/api/get_all_bantuan.php new file mode 100644 index 0000000..a288634 --- /dev/null +++ b/publik/api/get_all_bantuan.php @@ -0,0 +1,30 @@ +query("SELECT * FROM fasilitas_publik ORDER BY id DESC"); + $fasilitasPublik = $stmtFp->fetchAll(); + + // 2. Fetch all penduduk_miskin (dengan nama FP jika ada join) + $stmtPm = $pdo->query(" + SELECT p.*, f.nama as fp_nama + FROM penduduk_miskin p + LEFT JOIN fasilitas_publik f ON p.fasilitas_publik_id = f.id + ORDER BY p.id DESC + "); + $pendudukMiskin = $stmtPm->fetchAll(); + + echo json_encode([ + 'status' => 'success', + 'fasilitasPublik' => $fasilitasPublik, + 'pendudukMiskin' => $pendudukMiskin + ]); +} catch (PDOException $e) { + echo json_encode([ + 'status' => 'error', + 'message' => 'Database error: ' . $e->getMessage() + ]); +} +?> diff --git a/publik/api/get_fasilitas_publik.php b/publik/api/get_fasilitas_publik.php new file mode 100644 index 0000000..23be4c3 --- /dev/null +++ b/publik/api/get_fasilitas_publik.php @@ -0,0 +1,20 @@ +'error','message'=>'ID tidak valid.']); exit; } + +try { + $stmt = $pdo->prepare("SELECT * FROM fasilitas_publik WHERE id=?"); + $stmt->execute([$id]); + $data = $stmt->fetch(); + if ($data) { + echo json_encode(['status'=>'success','data'=>$data]); + } else { + echo json_encode(['status'=>'error','message'=>'Data tidak ditemukan.']); + } +} catch (PDOException $e) { + echo json_encode(['status'=>'error','message'=>$e->getMessage()]); +} +?> diff --git a/publik/api/get_penduduk.php b/publik/api/get_penduduk.php new file mode 100644 index 0000000..f7bf6cb --- /dev/null +++ b/publik/api/get_penduduk.php @@ -0,0 +1,24 @@ +'error','message'=>'ID tidak valid.']); exit; } + +try { + $stmt = $pdo->prepare( + "SELECT pm.*, fp.nama AS fp_nama FROM penduduk_miskin pm + LEFT JOIN fasilitas_publik fp ON pm.fasilitas_publik_id = fp.id + WHERE pm.id=?" + ); + $stmt->execute([$id]); + $data = $stmt->fetch(); + if ($data) { + echo json_encode(['status'=>'success','data'=>$data]); + } else { + echo json_encode(['status'=>'error','message'=>'Data tidak ditemukan.']); + } +} catch (PDOException $e) { + echo json_encode(['status'=>'error','message'=>$e->getMessage()]); +} +?> diff --git a/publik/api/get_point.php b/publik/api/get_point.php new file mode 100644 index 0000000..da201cc --- /dev/null +++ b/publik/api/get_point.php @@ -0,0 +1,24 @@ + 'error', 'message' => 'ID tidak diberikan']); + exit; +} + +try { + $stmt = $pdo->prepare("SELECT * FROM points WHERE id = ?"); + $stmt->execute([$id]); + $data = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($data) { + echo json_encode(['status' => 'success', 'data' => $data]); + } else { + echo json_encode(['status' => 'error', 'message' => 'Data tidak ditemukan']); + } +} catch (PDOException $e) { + echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); +} diff --git a/publik/api/statistik.php b/publik/api/statistik.php new file mode 100644 index 0000000..4cb24a0 --- /dev/null +++ b/publik/api/statistik.php @@ -0,0 +1,23 @@ +query("SELECT COUNT(*) FROM fasilitas_publik")->fetchColumn(); + $totalPM = $pdo->query("SELECT COUNT(*) FROM penduduk_miskin")->fetchColumn(); + $ditangani= $pdo->query("SELECT COUNT(*) FROM penduduk_miskin WHERE status_jangkauan='Dalam Jangkauan'")->fetchColumn(); + $belum = $totalPM - $ditangani; + $persen = $totalPM > 0 ? round(($ditangani / $totalPM) * 100, 1) : 0; + + echo json_encode([ + 'status' => 'success', + 'total_ri' => (int)$totalFP, + 'total_pm' => (int)$totalPM, + 'ditangani' => (int)$ditangani, + 'belum_ditangani'=> (int)$belum, + 'persentase' => $persen, + ]); +} catch (PDOException $e) { + echo json_encode(['status'=>'error','message'=>$e->getMessage()]); +} +?> diff --git a/publik/api/update_status_bantuan.php b/publik/api/update_status_bantuan.php new file mode 100644 index 0000000..acd7f8e --- /dev/null +++ b/publik/api/update_status_bantuan.php @@ -0,0 +1,28 @@ +'error','message'=>'Akses ditolak.']); + exit; +} + +include '../koneksi.php'; +header('Content-Type: application/json'); + +$id = (int)($_POST['id'] ?? 0); +$status_bantuan = trim($_POST['status_bantuan'] ?? ''); + +if (!$id || !$status_bantuan) { + echo json_encode(['status'=>'error','message'=>'Data tidak valid.']); + exit; +} + +try { + $stmt = $pdo->prepare("UPDATE penduduk_miskin SET status_bantuan=? WHERE id=?"); + $stmt->execute([$status_bantuan, $id]); + echo json_encode(['status'=>'success']); +} catch (PDOException $e) { + echo json_encode(['status'=>'error','message'=>$e->getMessage()]); +} +?> diff --git a/publik/index.php b/publik/index.php index 098c475..f3be193 100644 --- a/publik/index.php +++ b/publik/index.php @@ -393,7 +393,7 @@ $modulTitle = $modulNames[$modul] ?? 'Analisis Spasial'; - +