1st commit: version 1.0 WebGis-Pemetaan-Kemiskinan

This commit is contained in:
2026-06-03 02:09:03 +07:00
commit 313d2fd5a7
48 changed files with 4839 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id)) {
try {
$stmt = $conn->prepare("DELETE FROM anggota_keluarga WHERE id = :id");
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
if($stmt->execute()) echo json_encode(["pesan" => "Anggota dihapus."]);
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => $e->getMessage()]);
}
}
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id)) {
try {
$stmt = $conn->prepare("DELETE FROM rumah_ibadah WHERE id = :id");
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
if($stmt->execute()) {
echo json_encode(["pesan" => "Rumah Ibadah berhasil dihapus secara permanen."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "ID tidak ditemukan."]);
}
?>
+24
View File
@@ -0,0 +1,24 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id)) {
try {
$stmt = $conn->prepare("DELETE FROM rumah_penduduk WHERE id = :id");
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
if($stmt->execute()) {
echo json_encode(["pesan" => "Data keluarga berhasil dihapus secara permanen."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "ID tidak ditemukan."]);
}
?>
+32
View File
@@ -0,0 +1,32 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id_penduduk) && !empty($data->nik) && !empty($data->nama)) {
try {
$query = "INSERT INTO anggota_keluarga (id_penduduk, nik, nama_lengkap, tanggal_lahir, pendidikan_terakhir, pekerjaan)
VALUES (:id_penduduk, :nik, :nama, :lahir, :pendidikan, :pekerjaan)";
$stmt = $conn->prepare($query);
$pekerjaan = (!empty(trim($data->pekerjaan))) ? htmlspecialchars(strip_tags($data->pekerjaan)) : NULL;
$stmt->bindValue(':id_penduduk', $data->id_penduduk, PDO::PARAM_INT);
$stmt->bindValue(':nik', htmlspecialchars(strip_tags($data->nik)));
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':lahir', $data->lahir);
$stmt->bindValue(':pendidikan', $data->pendidikan);
$stmt->bindValue(':pekerjaan', $pekerjaan);
if($stmt->execute()) {
echo json_encode(["pesan" => "Anggota keluarga berhasil ditambahkan."]);
}
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => "Error: " . $e->getMessage()]);
}
} else {
http_response_code(400); echo json_encode(["error" => "Data NIK dan Nama wajib diisi."]);
}
?>
+33
View File
@@ -0,0 +1,33 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->nama) && isset($data->latitude) && isset($data->longitude)) {
try {
$query = "INSERT INTO rumah_ibadah (nama, jenis, radius_meter, alamat, latitude, longitude)
VALUES (:nama, :jenis, :radius, :alamat, :lat, :lng)";
$stmt = $conn->prepare($query);
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':jenis', htmlspecialchars(strip_tags($data->jenis)));
$stmt->bindValue(':radius', $data->radius_meter, PDO::PARAM_INT);
$stmt->bindValue(':alamat', htmlspecialchars(strip_tags($data->alamat)));
$stmt->bindValue(':lat', $data->latitude);
$stmt->bindValue(':lng', $data->longitude);
if($stmt->execute()) {
echo json_encode(["pesan" => "Pusat radius ibadah berhasil diarsipkan."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Data rumah ibadah tidak lengkap."]);
}
?>
+40
View File
@@ -0,0 +1,40 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id_penduduk)) {
try {
$conn->beginTransaction();
// 1. Catat Logistik Bantuan
$query = "INSERT INTO log_bantuan (id_penduduk, beras_kg, minyak_l, gula_kg, telur_kg, susu_kaleng, tunai_rp, catatan)
VALUES (:id, :beras, :minyak, :gula, :telur, :susu, :tunai, :catatan)";
$stmt = $conn->prepare($query);
$stmt->bindValue(':id', $data->id_penduduk, PDO::PARAM_INT);
$stmt->bindValue(':beras', $data->beras, PDO::PARAM_INT);
$stmt->bindValue(':minyak', $data->minyak, PDO::PARAM_INT);
$stmt->bindValue(':gula', $data->gula, PDO::PARAM_INT);
$stmt->bindValue(':telur', $data->telur, PDO::PARAM_INT);
$stmt->bindValue(':susu', $data->susu, PDO::PARAM_INT);
$stmt->bindValue(':tunai', $data->tunai, PDO::PARAM_INT);
$stmt->bindValue(':catatan', htmlspecialchars(strip_tags($data->catatan)));
$stmt->execute();
// 2. KUNCI BABAK 4: Padamkan status darurat jika keluarga ini sedang terkena musibah
$updateMusibah = $conn->prepare("UPDATE laporan_musibah SET status_penanganan = 'Sudah Ditangani' WHERE id_penduduk = :id AND status_penanganan = 'Belum Ditangani'");
$updateMusibah->bindValue(':id', $data->id_penduduk, PDO::PARAM_INT);
$updateMusibah->execute();
$conn->commit();
echo json_encode(["pesan" => "Bantuan disalurkan. Status darurat keluarga ini telah dipadamkan secara otomatis."]);
} catch(PDOException $e) {
$conn->rollBack();
http_response_code(500); echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400); echo json_encode(["error" => "ID Keluarga Penerima tidak valid."]);
}
?>
@@ -0,0 +1,17 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id_anggota) && !empty($data->id_pelatihan)) {
try {
$stmt = $conn->prepare("INSERT INTO log_pelatihan (id_anggota, id_pelatihan) VALUES (:ida, :idp)");
$stmt->bindValue(':ida', $data->id_anggota, PDO::PARAM_INT);
$stmt->bindValue(':idp', $data->id_pelatihan, PDO::PARAM_INT);
if($stmt->execute()) echo json_encode(["pesan" => "Berhasil didaftarkan ke program pelatihan!"]);
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => $e->getMessage()]);
}
}
?>
+29
View File
@@ -0,0 +1,29 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id_penduduk) && !empty($data->tanggal) && !empty($data->jenis)) {
try {
$query = "INSERT INTO laporan_musibah (id_penduduk, tanggal_lapor, jenis_musibah, deskripsi, status_penanganan)
VALUES (:id, :tgl, :jenis, :deskripsi, :status)";
$stmt = $conn->prepare($query);
$stmt->bindValue(':id', $data->id_penduduk, PDO::PARAM_INT);
$stmt->bindValue(':tgl', $data->tanggal);
$stmt->bindValue(':jenis', htmlspecialchars(strip_tags($data->jenis)));
$stmt->bindValue(':deskripsi', htmlspecialchars(strip_tags($data->deskripsi)));
$stmt->bindValue(':status', htmlspecialchars(strip_tags($data->status)));
if($stmt->execute()) {
echo json_encode(["pesan" => "Laporan darurat musibah berhasil dikirim. Menunggu penanganan!"]);
}
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400); echo json_encode(["error" => "Data tanggal dan jenis musibah wajib diisi."]);
}
?>
+31
View File
@@ -0,0 +1,31 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->nama_pelatihan) && !empty($data->instansi) && !empty($data->tgl_mulai) && !empty($data->tgl_selesai)) {
try {
$query = "INSERT INTO master_pelatihan (nama_pelatihan, instansi_penyelenggara, tanggal_mulai, tanggal_selesai, deskripsi)
VALUES (:nama, :instansi, :mulai, :selesai, :deskripsi)";
$stmt = $conn->prepare($query);
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama_pelatihan)));
$stmt->bindValue(':instansi', htmlspecialchars(strip_tags($data->instansi)));
$stmt->bindValue(':mulai', $data->tgl_mulai);
$stmt->bindValue(':selesai', $data->tgl_selesai);
$stmt->bindValue(':deskripsi', htmlspecialchars(strip_tags($data->deskripsi)));
if($stmt->execute()) {
echo json_encode(["pesan" => "Program pelatihan berhasil ditambahkan ke dalam Master Data."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Data krusial (Nama, Instansi, Tanggal) tidak boleh kosong."]);
}
?>
+49
View File
@@ -0,0 +1,49 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
// Validasi ketat: Nama, lat, dan lng adalah harga mati
if (!empty($data->nama) && isset($data->lat) && isset($data->lng)) {
try {
$query = "INSERT INTO rumah_penduduk
(nama_kk, agama, jml_tanggungan, pengeluaran, pmt_lantai, pmt_dinding, pmt_sanitasi, pmt_penerangan, pmt_air, pmt_score, status_kemiskinan, alamat, latitude, longitude)
VALUES
(:nama, :agama, :tanggungan, :pengeluaran, :lantai, :dinding, :sanitasi, :penerangan, :air, :score, :status, :alamat, :lat, :lng)";
$stmt = $conn->prepare($query);
// Membersihkan input dari potensi XSS Attack
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':agama', htmlspecialchars(strip_tags($data->agama)));
$stmt->bindValue(':tanggungan', $data->tanggungan, PDO::PARAM_INT);
$stmt->bindValue(':pengeluaran', $data->pengeluaran, PDO::PARAM_INT);
// Penilaian 5 Kriteria PMT Biner
$stmt->bindValue(':lantai', $data->pmt_lantai, PDO::PARAM_INT);
$stmt->bindValue(':dinding', $data->pmt_dinding, PDO::PARAM_INT);
$stmt->bindValue(':sanitasi', $data->pmt_sanitasi, PDO::PARAM_INT);
$stmt->bindValue(':penerangan', $data->pmt_penerangan, PDO::PARAM_INT);
$stmt->bindValue(':air', $data->pmt_air, PDO::PARAM_INT);
// Hasil Analisis DSS
$stmt->bindValue(':score', $data->pmt_score, PDO::PARAM_INT);
$stmt->bindValue(':status', htmlspecialchars(strip_tags($data->status)));
$stmt->bindValue(':alamat', htmlspecialchars(strip_tags($data->alamat)));
$stmt->bindValue(':lat', $data->lat);
$stmt->bindValue(':lng', $data->lng);
if($stmt->execute()) {
echo json_encode(["pesan" => "Data kemiskinan berhasil diarsipkan."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Data krusial tidak lengkap."]);
}
?>
+19
View File
@@ -0,0 +1,19 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
$id_penduduk = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id_penduduk > 0) {
try {
$stmt = $conn->prepare("SELECT * FROM anggota_keluarga WHERE id_penduduk = :id ORDER BY id ASC");
$stmt->bindValue(':id', $id_penduduk, PDO::PARAM_INT);
$stmt->execute();
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => $e->getMessage()]);
}
} else {
http_response_code(400); echo json_encode(["error" => "ID tidak valid"]);
}
?>
+14
View File
@@ -0,0 +1,14 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
try {
// Hanya tarik ID Penduduk yang musibahnya belum ditangani
$stmt = $conn->query("SELECT id_penduduk FROM laporan_musibah WHERE status_penanganan = 'Belum Ditangani'");
$data = $stmt->fetchAll(PDO::FETCH_COLUMN); // Mengembalikan array [id1, id2, ...]
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => $e->getMessage()]);
}
?>
@@ -0,0 +1,20 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
try {
// Hanya ambil yang sedang aktif
$stmt = $conn->query("SELECT nilai_rupiah FROM garis_kemiskinan WHERE is_active = TRUE LIMIT 1");
$data = $stmt->fetch(PDO::FETCH_ASSOC);
if ($data) {
echo json_encode($data);
} else {
// Fallback darurat jika tabel kosong
echo json_encode(["nilai_rupiah" => 700000]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Gagal mengambil data: " . $e->getMessage()]);
}
?>
+13
View File
@@ -0,0 +1,13 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
try {
$stmt = $conn->query("SELECT * FROM rumah_ibadah ORDER BY created_at DESC");
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Gagal mengambil data ibadah: " . $e->getMessage()]);
}
?>
+25
View File
@@ -0,0 +1,25 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
// Menangkap ID Penduduk dari URL (GET Request)
$id_penduduk = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id_penduduk > 0) {
try {
// Asumsi tabel Anda memiliki kolom created_at atau minimal id yang Auto Increment
$stmt = $conn->prepare("SELECT * FROM log_bantuan WHERE id_penduduk = :id ORDER BY id DESC");
$stmt->bindValue(':id', $id_penduduk, PDO::PARAM_INT);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Parameter ID Penduduk tidak ditemukan."]);
}
?>
@@ -0,0 +1,31 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
$id_penduduk = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id_penduduk > 0) {
try {
// Melakukan JOIN untuk merangkai nama anggota, NIK, dan nama pelatihan
$query = "SELECT lp.tanggal_daftar, mp.nama_pelatihan, mp.instansi_penyelenggara, ak.nama_lengkap, ak.nik
FROM log_pelatihan lp
JOIN anggota_keluarga ak ON lp.id_anggota = ak.id
JOIN master_pelatihan mp ON lp.id_pelatihan = mp.id
WHERE ak.id_penduduk = :id
ORDER BY lp.tanggal_daftar DESC";
$stmt = $conn->prepare($query);
$stmt->bindValue(':id', $id_penduduk, PDO::PARAM_INT);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Parameter ID Penduduk tidak valid."]);
}
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
$id_penduduk = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id_penduduk > 0) {
try {
$stmt = $conn->prepare("SELECT * FROM laporan_musibah WHERE id_penduduk = :id ORDER BY tanggal_lapor DESC, id DESC");
$stmt->bindValue(':id', $id_penduduk, PDO::PARAM_INT);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Parameter ID Penduduk tidak valid."]);
}
?>
+12
View File
@@ -0,0 +1,12 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
try {
$stmt = $conn->query("SELECT * FROM master_pelatihan ORDER BY id DESC");
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => $e->getMessage()]);
}
?>
+21
View File
@@ -0,0 +1,21 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
require_once '../koneksi.php';
try {
// KUNCI ARSITEKTUR: Kalkulasi Dinamis (Subquery)
// Menghitung jumlah anggota secara real-time dari tabel relasional
$query = "SELECT rp.*,
(SELECT COUNT(id) FROM anggota_keluarga WHERE id_penduduk = rp.id) AS real_tanggungan
FROM rumah_penduduk rp
ORDER BY rp.created_at DESC";
$stmt = $conn->query($query);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Gagal mengambil data kemiskinan: " . $e->getMessage()]);
}
?>
+37
View File
@@ -0,0 +1,37 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id) && !empty($data->nik) && !empty($data->nama)) {
try {
$query = "UPDATE anggota_keluarga SET
nik = :nik,
nama_lengkap = :nama,
tanggal_lahir = :lahir,
pendidikan_terakhir = :pendidikan,
pekerjaan = :pekerjaan
WHERE id = :id";
$stmt = $conn->prepare($query);
$pekerjaan = (!empty(trim($data->pekerjaan))) ? htmlspecialchars(strip_tags($data->pekerjaan)) : NULL;
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
$stmt->bindValue(':nik', htmlspecialchars(strip_tags($data->nik)));
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':lahir', $data->lahir);
$stmt->bindValue(':pendidikan', $data->pendidikan);
$stmt->bindValue(':pekerjaan', $pekerjaan);
if($stmt->execute()) {
echo json_encode(["pesan" => "Informasi anggota keluarga berhasil diperbarui."]);
}
} catch(PDOException $e) {
http_response_code(500); echo json_encode(["error" => "Error: " . $e->getMessage()]);
}
} else {
http_response_code(400); echo json_encode(["error" => "Data NIK dan Nama wajib diisi."]);
}
?>
@@ -0,0 +1,47 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->nilai) && is_numeric($data->nilai)) {
try {
// Mengunci eksekusi agar jika satu gagal, semua dibatalkan (ACID Compliance)
$conn->beginTransaction();
// 1. Matikan semua standar historis lama
$conn->exec("UPDATE garis_kemiskinan SET is_active = FALSE");
// 2. Masukkan standar baru sebagai yang aktif
$stmtConfig = $conn->prepare("INSERT INTO garis_kemiskinan (tahun, nilai_rupiah, is_active) VALUES (:tahun, :nilai, TRUE)");
$stmtConfig->bindValue(':tahun', date("Y"), PDO::PARAM_INT);
$stmtConfig->bindValue(':nilai', $data->nilai, PDO::PARAM_INT);
$stmtConfig->execute();
// 3. KALIBRASI ULANG MASSAL (Cascading Status Update)
$updatePenduduk = "UPDATE rumah_penduduk SET status_kemiskinan = CASE
WHEN pengeluaran > :nilai THEN 'Tidak Miskin'
WHEN pmt_score >= 4 THEN 'Sangat Miskin'
WHEN pmt_score >= 2 THEN 'Miskin'
WHEN pmt_score = 1 THEN 'Rentan Miskin'
ELSE 'Tidak Miskin'
END";
$stmtUpdate = $conn->prepare($updatePenduduk);
$stmtUpdate->bindValue(':nilai', $data->nilai, PDO::PARAM_INT);
$stmtUpdate->execute();
$conn->commit();
echo json_encode(["pesan" => "Garis kemiskinan diubah dan seluruh status penduduk telah dikalibrasi ulang!"]);
} catch(PDOException $e) {
$conn->rollBack();
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Nilai garis kemiskinan tidak valid."]);
}
?>
+33
View File
@@ -0,0 +1,33 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id) && !empty($data->nama)) {
try {
$query = "UPDATE rumah_ibadah SET
nama = :nama,
jenis = :jenis,
radius_meter = :radius
WHERE id = :id";
$stmt = $conn->prepare($query);
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':jenis', htmlspecialchars(strip_tags($data->jenis)));
$stmt->bindValue(':radius', $data->radius, PDO::PARAM_INT);
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
if($stmt->execute()) {
echo json_encode(["pesan" => "Data Rumah Ibadah berhasil diperbarui."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Data krusial tidak lengkap."]);
}
?>
+52
View File
@@ -0,0 +1,52 @@
<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
require_once '../koneksi.php';
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->id) && !empty($data->nama)) {
try {
$query = "UPDATE rumah_penduduk SET
nama_kk = :nama,
agama = :agama,
jml_tanggungan = :tanggungan,
pengeluaran = :pengeluaran,
pmt_lantai = :lantai,
pmt_dinding = :dinding,
pmt_sanitasi = :sanitasi,
pmt_penerangan = :penerangan,
pmt_air = :air,
pmt_score = :score,
status_kemiskinan = :status
WHERE id = :id";
$stmt = $conn->prepare($query);
$stmt->bindValue(':nama', htmlspecialchars(strip_tags($data->nama)));
$stmt->bindValue(':agama', htmlspecialchars(strip_tags($data->agama)));
$stmt->bindValue(':tanggungan', $data->tanggungan, PDO::PARAM_INT);
$stmt->bindValue(':pengeluaran', $data->pengeluaran, PDO::PARAM_INT);
$stmt->bindValue(':lantai', $data->pmt_lantai, PDO::PARAM_INT);
$stmt->bindValue(':dinding', $data->pmt_dinding, PDO::PARAM_INT);
$stmt->bindValue(':sanitasi', $data->pmt_sanitasi, PDO::PARAM_INT);
$stmt->bindValue(':penerangan', $data->pmt_penerangan, PDO::PARAM_INT);
$stmt->bindValue(':air', $data->pmt_air, PDO::PARAM_INT);
$stmt->bindValue(':score', $data->pmt_score, PDO::PARAM_INT);
$stmt->bindValue(':status', htmlspecialchars(strip_tags($data->status)));
$stmt->bindValue(':id', $data->id, PDO::PARAM_INT);
if($stmt->execute()) {
echo json_encode(["pesan" => "Data kemiskinan berhasil diperbarui."]);
}
} catch(PDOException $e) {
http_response_code(500);
echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
}
} else {
http_response_code(400);
echo json_encode(["error" => "Data krusial tidak lengkap."]);
}
?>