Files
UAS-SIG-d1041231006/spbu-map/update_spbu.php
T
2026-06-10 19:36:52 +07:00

65 lines
1.7 KiB
PHP

<?php
require 'db.php';
header('Content-Type: application/json; charset=utf-8');
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['id'])) {
$id = $_POST['id'] ?? null;
$nama = $_POST['nama'] ?? null;
$nomor = $_POST['nomor'] ?? null;
$status = $_POST['status'] ?? null;
$lat = $_POST['latitude'] ?? null;
$lng = $_POST['longitude'] ?? null;
if ($id === null) {
http_response_code(400);
echo json_encode(["status" => "error", "message" => "Missing id."]);
exit;
}
$fields = [];
$values = [];
if ($nama !== null) {
$fields[] = "nama = ?";
$values[] = $nama;
}
if ($nomor !== null) {
$fields[] = "nomor = ?";
$values[] = $nomor;
}
if ($status !== null) {
$fields[] = "status = ?";
$values[] = $status;
}
if ($lat !== null) {
$fields[] = "Latitude = ?";
$values[] = $lat;
}
if ($lng !== null) {
$fields[] = "Longitude = ?";
$values[] = $lng;
}
if (count($fields) === 0) {
http_response_code(400);
echo json_encode(["status" => "error", "message" => "No fields to update."]);
exit;
}
$values[] = $id;
$sql = "UPDATE SPBU SET " . implode(", ", $fields) . " WHERE id = ?";
$stmt = $pdo->prepare($sql);
if ($stmt->execute($values)) {
echo json_encode(["status" => "success", "message" => "Data updated!"]);
} else {
http_response_code(500);
echo json_encode(["status" => "error", "message" => "Failed to update data."]);
}
} else {
http_response_code(405);
echo json_encode(["status" => "error", "message" => "Method not allowed."]);
}
?>