Files
webgis_geospesial/penduduk_miskin/simpan.php
T

40 lines
1.6 KiB
PHP

<?php
include '../koneksi.php';
header('Content-Type: application/json');
$nama = trim($_POST['nama'] ?? '');
$nik = trim($_POST['nik'] ?? '');
$keterangan = trim($_POST['keterangan'] ?? '');
$latitude = trim($_POST['latitude'] ?? '');
$longitude = trim($_POST['longitude'] ?? '');
$status_jangkauan= trim($_POST['status_jangkauan']?? 'Luar Jangkauan');
$fasilitas_publik_id = trim($_POST['fasilitas_publik_id'] ?? '');
if (!$nama || !$latitude || !$longitude) {
echo json_encode(['status'=>'error','message'=>'Nama dan lokasi wajib diisi.']);
exit;
}
$valid_status = ['Dalam Jangkauan','Luar Jangkauan'];
if (!in_array($status_jangkauan, $valid_status)) $status_jangkauan = 'Luar Jangkauan';
$fp_id = ($fasilitas_publik_id !== '') ? (int)$fasilitas_publik_id : null;
try {
$stmt = $pdo->prepare(
"INSERT INTO penduduk_miskin (nama, nik, keterangan, latitude, longitude, status_jangkauan, fasilitas_publik_id)
VALUES (?, ?, ?, ?, ?, ?, ?)"
);
$stmt->execute([$nama, $nik, $keterangan, $latitude, $longitude, $status_jangkauan, $fp_id]);
$id = $pdo->lastInsertId();
$stmtSelect = $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 = ?");
$stmtSelect->execute([$id]);
$data = $stmtSelect->fetch(PDO::FETCH_ASSOC);
echo json_encode(['status'=>'success','data'=>$data]);
} catch (PDOException $e) {
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
}
?>