connect_error) { die("Koneksi ke MySQL Gagal: " . $conn->connect_error); } // Buat database otomatis jika belum ada $conn->query("CREATE DATABASE IF NOT EXISTS db_webgis_jalan"); $conn->select_db("db_webgis_jalan"); // Buat tabel otomatis jika belum ada $conn->query("CREATE TABLE IF NOT EXISTS jalan ( id INT AUTO_INCREMENT PRIMARY KEY, nama_jalan VARCHAR(150) NOT NULL, status_jalan ENUM('Nasional', 'Provinsi', 'Kabupaten') NOT NULL, panjang_jalan FLOAT NOT NULL, geom TEXT NOT NULL )"); // ========================================== // 2. BACKEND: ROUTING API (SIMPAN & AMBIL) // ========================================== // A. Logika Ambil Data (Read) if (isset($_GET['aksi']) && $_GET['aksi'] == 'ambil') { header('Content-Type: application/json'); $result = $conn->query("SELECT * FROM jalan"); $data_jalan = array(); while($row = $result->fetch_assoc()) { $data_jalan[] = $row; } echo json_encode($data_jalan); exit; // Stop eksekusi agar HTML tidak ikut ter-echo } // B. Logika Simpan Data (Create) if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['aksi']) && $_POST['aksi'] == 'simpan') { $nama = $_POST['nama']; $status = $_POST['status']; $panjang = $_POST['panjang']; $geom = $_POST['geom']; $stmt = $conn->prepare("INSERT INTO jalan (nama_jalan, status_jalan, panjang_jalan, geom) VALUES (?, ?, ?, ?)"); $stmt->bind_param("ssds", $nama, $status, $panjang, $geom); if ($stmt->execute()) { echo "Sukses"; } else { echo "Gagal: " . $conn->error; } $stmt->close(); exit; // Stop eksekusi } ?>