connect_error) { die("Koneksi ke database gagal: " . $conn->connect_error); } $conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); $conn->select_db($db); // Create table if not exists (automatic migration helper) $conn->query("CREATE TABLE IF NOT EXISTS spbu ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(255) NOT NULL, nomor VARCHAR(100) NOT NULL, status ENUM('24jam', 'tidak') NOT NULL DEFAULT 'tidak', latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"); // ================== HANDLE POST REQUESTS (API) ================== if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = $_POST['action'] ?? ''; // INSERT SPBU if ($action === 'insert') { $nama = $conn->real_escape_string($_POST['nama']); $nomor = $conn->real_escape_string($_POST['nomor']); $status = $conn->real_escape_string($_POST['status']); $lat = (float)$_POST['lat']; $lng = (float)$_POST['lng']; if ($conn->query("INSERT INTO spbu (nama, nomor, status, latitude, longitude) VALUES ('$nama', '$nomor', '$status', '$lat', '$lng')")) { echo "success"; } else { echo "error"; } exit; } // UPDATE SPBU if ($action === 'update') { $id = (int)$_POST['id']; $nama = $conn->real_escape_string($_POST['nama']); $nomor = $conn->real_escape_string($_POST['nomor']); $status = $conn->real_escape_string($_POST['status']); if ($conn->query("UPDATE spbu SET nama='$nama', nomor='$nomor', status='$status' WHERE id=$id")) { echo "success"; } else { echo "error"; } exit; } // DELETE SPBU if ($action === 'delete') { $id = (int)$_POST['id']; if ($conn->query("DELETE FROM spbu WHERE id=$id")) { echo "success"; } else { echo "error"; } exit; } // MOVE MARKER (Drag-and-Drop) if ($action === 'move') { $id = (int)$_POST['id']; $lat = (float)$_POST['lat']; $lng = (float)$_POST['lng']; if ($conn->query("UPDATE spbu SET latitude='$lat', longitude='$lng' WHERE id=$id")) { echo "success"; } else { echo "error"; } exit; } } // ================== GET DATA ================== $data = []; $result = $conn->query("SELECT * FROM spbu ORDER BY nama ASC"); if ($result) { while ($row = $result->fetch_assoc()) { $data[] = $row; } } ?>