Buang setelan MySQL Co-Pilot, pakai SQLite murni
This commit is contained in:
@@ -1,34 +1,3 @@
|
|||||||
<?php
|
|
||||||
// TAMPILKAN ERROR JIKA ADA YANG SALAH
|
|
||||||
ini_set('display_errors', 1);
|
|
||||||
ini_set('display_startup_errors', 1);
|
|
||||||
error_reporting(E_ALL);
|
|
||||||
|
|
||||||
// 1. KONEKSI KE DATABASE MySQL
|
|
||||||
$host = "localhost";
|
|
||||||
$username = "root";
|
|
||||||
$password = "";
|
|
||||||
$database = "webgis_spbu";
|
|
||||||
|
|
||||||
$conn = mysqli_connect($host, $username, $password, $database);
|
|
||||||
|
|
||||||
if (!$conn) {
|
|
||||||
die("Koneksi ke database gagal: " . mysqli_connect_error());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. QUERY AMBIL DATA SPBU
|
|
||||||
$query = mysqli_query($conn, "SELECT * FROM t_spbu");
|
|
||||||
|
|
||||||
if (!$query) {
|
|
||||||
die("Query Error: " . mysqli_error($conn));
|
|
||||||
}
|
|
||||||
|
|
||||||
$data_spbu = [];
|
|
||||||
while ($row = mysqli_fetch_assoc($query)) {
|
|
||||||
$data_spbu[] = $row;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="id">
|
<html lang="id">
|
||||||
<head>
|
<head>
|
||||||
@@ -85,15 +54,15 @@ while ($row = mysqli_fetch_assoc($query)) {
|
|||||||
var layerSpbu24Jam = L.layerGroup().addTo(map);
|
var layerSpbu24Jam = L.layerGroup().addTo(map);
|
||||||
var layerSpbuReguler = L.layerGroup().addTo(map);
|
var layerSpbuReguler = L.layerGroup().addTo(map);
|
||||||
|
|
||||||
// Konversi data array PHP ke JSON JavaScript
|
function renderSpbuMarkers(markers) {
|
||||||
var dataSpbuDariDatabase = <?php echo json_encode($data_spbu); ?>;
|
markers.forEach(function(spbu) {
|
||||||
|
|
||||||
// 5. LOOPING DATA & PILAH BERDASARKAN STATUS SPBU
|
|
||||||
dataSpbuDariDatabase.forEach(function(spbu) {
|
|
||||||
var lat = parseFloat(spbu.latitude);
|
var lat = parseFloat(spbu.latitude);
|
||||||
var lng = parseFloat(spbu.longitude);
|
var lng = parseFloat(spbu.longitude);
|
||||||
|
if (isNaN(lat) || isNaN(lng)) {
|
||||||
var warnaMarker = (spbu.status === '24_jam') ? '#007BFF' : '#DC3545';
|
return;
|
||||||
|
}
|
||||||
|
var isOpen24 = spbu.open_24_hours == 1 || spbu.open_24_hours === '1' || spbu.open_24_hours === true;
|
||||||
|
var warnaMarker = isOpen24 ? '#007BFF' : '#DC3545';
|
||||||
|
|
||||||
var marker = L.circleMarker([lat, lng], {
|
var marker = L.circleMarker([lat, lng], {
|
||||||
radius: 8,
|
radius: 8,
|
||||||
@@ -104,17 +73,40 @@ while ($row = mysqli_fetch_assoc($query)) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
marker.bindPopup(
|
marker.bindPopup(
|
||||||
"<strong>" + spbu.nama_spbu + "</strong><br>" +
|
"<strong>" + (spbu.name || spbu.nama_spbu || 'SPBU') + "</strong><br>" +
|
||||||
"Status Pelayanan: " + (spbu.status === '24_jam' ? 'Buka 24 Jam' : 'Reguler Biasa') + "<br>" +
|
"Status Pelayanan: " + (isOpen24 ? 'Buka 24 Jam' : 'Reguler Biasa') + "<br>" +
|
||||||
"Koordinat: " + lat + ", " + lng
|
"Koordinat: " + lat + ", " + lng
|
||||||
);
|
);
|
||||||
|
|
||||||
if (spbu.status === '24_jam') {
|
if (isOpen24) {
|
||||||
marker.addTo(layerSpbu24Jam);
|
marker.addTo(layerSpbu24Jam);
|
||||||
} else {
|
} else {
|
||||||
marker.addTo(layerSpbuReguler); // <-- Sudah diperbaiki dari layerSpulerReguler
|
marker.addTo(layerSpbuReguler);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadSpbuData() {
|
||||||
|
fetch('api/get_points.php')
|
||||||
|
.then(function(response) {
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error('HTTP error ' + response.status);
|
||||||
|
}
|
||||||
|
return response.json();
|
||||||
|
})
|
||||||
|
.then(function(data) {
|
||||||
|
if (data.success && Array.isArray(data.markers)) {
|
||||||
|
renderSpbuMarkers(data.markers);
|
||||||
|
} else {
|
||||||
|
console.error('Response tidak berformat expected:', data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(function(error) {
|
||||||
|
console.error('Gagal memuat data SPBU dari API:', error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
loadSpbuData();
|
||||||
|
|
||||||
// 6. IMPLEMENTASI LAYERS CONTROL
|
// 6. IMPLEMENTASI LAYERS CONTROL
|
||||||
var overlayMaps = {
|
var overlayMaps = {
|
||||||
|
|||||||
Reference in New Issue
Block a user