40 lines
1.6 KiB
PHP
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()]);
|
|
}
|
|
?>
|