Initial commit
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
$host = 'localhost';
|
||||||
|
$user = 'root';
|
||||||
|
$pass = '';
|
||||||
|
$db = 'gis_db';
|
||||||
|
|
||||||
|
$conn = new mysqli($host, $user, $pass, $db);
|
||||||
|
$conn->set_charset('utf8mb4');
|
||||||
|
|
||||||
|
if ($conn->connect_error) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Koneksi gagal: ' . $conn->connect_error]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$id = (int)($_POST['id'] ?? 0);
|
||||||
|
|
||||||
|
if ($id <= 0) {
|
||||||
|
http_response_code(400);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'ID fitur tidak valid']);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("DELETE FROM spatial_features WHERE id = ?");
|
||||||
|
|
||||||
|
if (!$stmt) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $conn->error]);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->bind_param("i", $id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Fitur berhasil dihapus']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$id = $_POST['id'];
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("DELETE FROM locations WHERE id = ?");
|
||||||
|
$stmt->bind_param("i", $id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Data dihapus']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
// Pastikan file db_config.php sudah benar konfigurasinya
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mengambil semua fitur spasial dari tabel spatial_features.
|
||||||
|
* Data diurutkan berdasarkan waktu pembuatan terbaru.
|
||||||
|
*/
|
||||||
|
$sql = "SELECT id, nama_objek, kategori, status_objek, type, geometry_data, nilai_ukur, created_at
|
||||||
|
FROM spatial_features
|
||||||
|
ORDER BY created_at DESC";
|
||||||
|
|
||||||
|
$result = $conn->query($sql);
|
||||||
|
$features = [];
|
||||||
|
|
||||||
|
if (!$result) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Query gagal: ' . $conn->error]);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result && $result->num_rows > 0) {
|
||||||
|
while($row = $result->fetch_assoc()) {
|
||||||
|
// Mendecode data JSON koordinat agar bisa langsung digunakan oleh Leaflet di frontend
|
||||||
|
$row['geometry_data'] = json_decode($row['geometry_data']);
|
||||||
|
|
||||||
|
// Memastikan nilai_ukur dikirim sebagai angka (float/double)
|
||||||
|
$row['nilai_ukur'] = (float)$row['nilai_ukur'];
|
||||||
|
|
||||||
|
$features[] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mengirimkan data dalam format JSON
|
||||||
|
echo json_encode($features);
|
||||||
|
|
||||||
|
// Menutup koneksi database
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
$sql = "SELECT * FROM locations";
|
||||||
|
$result = $conn->query($sql);
|
||||||
|
|
||||||
|
$locations = [];
|
||||||
|
|
||||||
|
if (!$result) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Query gagal: ' . $conn->error]);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result->num_rows > 0) {
|
||||||
|
while($row = $result->fetch_assoc()) {
|
||||||
|
$locations[] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode($locations);
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
+1296
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
ini_set('display_errors', '0');
|
||||||
|
ini_set('html_errors', '0');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$nama = trim($_POST['nama'] ?? '');
|
||||||
|
$kategori = trim($_POST['kategori'] ?? '');
|
||||||
|
if ($kategori === 'Parsil Tanah') {
|
||||||
|
$kategori = 'Tanah';
|
||||||
|
}
|
||||||
|
$status = trim($_POST['status'] ?? '');
|
||||||
|
$type = trim($_POST['type'] ?? '');
|
||||||
|
$geometry = $_POST['geometry'] ?? '';
|
||||||
|
$nilai = (float)($_POST['nilai'] ?? 0); // Nilai otomatis dari frontend
|
||||||
|
|
||||||
|
if ($nama === '' || $kategori === '' || $status === '' || $type === '' || $geometry === '') {
|
||||||
|
http_response_code(400);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Data fitur tidak lengkap']);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("INSERT INTO spatial_features (nama_objek, kategori, status_objek, type, geometry_data, nilai_ukur) VALUES (?, ?, ?, ?, ?, ?)");
|
||||||
|
|
||||||
|
if (!$stmt) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $conn->error]);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->bind_param("sssssd", $nama, $kategori, $status, $type, $geometry, $nilai);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Data berhasil disimpan']);
|
||||||
|
} else {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
http_response_code(405);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Method tidak diizinkan']);
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$nama = $_POST['nama'];
|
||||||
|
$nomor = $_POST['nomor'];
|
||||||
|
$status = $_POST['status'];
|
||||||
|
$lat = $_POST['lat'];
|
||||||
|
$lng = $_POST['lng'];
|
||||||
|
|
||||||
|
// Validasi sederhana
|
||||||
|
if(empty($nama) || empty($nomor) || empty($lat) || empty($lng)) {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Data tidak lengkap']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("INSERT INTO locations (nama, nomor, buka_24jam, latitude, longitude) VALUES (?, ?, ?, ?, ?)");
|
||||||
|
$stmt->bind_param("sssdd", $nama, $nomor, $status, $lat, $lng);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Data berhasil disimpan']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$id = $_POST['id'];
|
||||||
|
$lat = $_POST['lat'];
|
||||||
|
$lng = $_POST['lng'];
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("UPDATE locations SET latitude = ?, longitude = ? WHERE id = ?");
|
||||||
|
$stmt->bind_param("ddi", $lat, $lng, $id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Lokasi diperbarui']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$id = $_POST['id'];
|
||||||
|
$nama = $_POST['nama'];
|
||||||
|
$nomor = $_POST['nomor'];
|
||||||
|
$status = $_POST['status'];
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("UPDATE locations SET nama = ?, nomor = ?, buka_24jam = ? WHERE id = ?");
|
||||||
|
$stmt->bind_param("sssi", $nama, $nomor, $status, $id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Data diperbarui']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'db_config.php';
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$id = (int)($_POST['id'] ?? 0);
|
||||||
|
$nama = trim($_POST['nama'] ?? '');
|
||||||
|
$kategori = trim($_POST['kategori'] ?? '');
|
||||||
|
if ($kategori === 'Parsil Tanah') {
|
||||||
|
$kategori = 'Tanah';
|
||||||
|
}
|
||||||
|
$status = trim($_POST['status'] ?? '');
|
||||||
|
$type = trim($_POST['type'] ?? '');
|
||||||
|
$geometry = $_POST['geometry'] ?? '';
|
||||||
|
$nilai = (float)($_POST['nilai'] ?? 0);
|
||||||
|
|
||||||
|
if ($id <= 0 || $nama === '' || $kategori === '' || $status === '' || $type === '' || $geometry === '') {
|
||||||
|
http_response_code(400);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => 'Data fitur tidak lengkap']);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("UPDATE spatial_features SET nama_objek = ?, kategori = ?, status_objek = ?, type = ?, geometry_data = ?, nilai_ukur = ? WHERE id = ?");
|
||||||
|
|
||||||
|
if (!$stmt) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $conn->error]);
|
||||||
|
$conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->bind_param("sssssdi", $nama, $kategori, $status, $type, $geometry, $nilai, $id);
|
||||||
|
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Fitur berhasil diperbarui']);
|
||||||
|
} else {
|
||||||
|
echo json_encode(['status' => 'error', 'message' => $stmt->error]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
Reference in New Issue
Block a user