70 lines
2.5 KiB
PHP
70 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* ambil_data.php
|
|
* Mengambil semua data SPBU, polyline, dan polygon dari database.
|
|
* Response dalam format JSON.
|
|
*/
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
require_once 'koneksi.php';
|
|
|
|
$result = [
|
|
'status' => 'success',
|
|
'spbu' => [],
|
|
'polyline' => [],
|
|
'polygon' => [],
|
|
];
|
|
|
|
// ─── Ambil data SPBU ─────────────────────────────────────────────────────────
|
|
$query_spbu = "SELECT id, nama_spbu, status_ramai, buka_24_jam, status_operasional, nomor_hp, latitude, longitude FROM spbu ORDER BY id ASC";
|
|
$res = $koneksi->query($query_spbu);
|
|
if ($res) {
|
|
while ($row = $res->fetch_assoc()) {
|
|
// Cast tipe data numerik
|
|
$row['id'] = (int)$row['id'];
|
|
$row['latitude'] = (float)$row['latitude'];
|
|
$row['longitude'] = (float)$row['longitude'];
|
|
$result['spbu'][] = $row;
|
|
}
|
|
$res->free();
|
|
} else {
|
|
$result['status'] = 'partial_error';
|
|
$result['error_spbu'] = $koneksi->error;
|
|
}
|
|
|
|
// ─── Ambil data Polyline ──────────────────────────────────────────────────────
|
|
$query_poly = "SELECT id, nama_line, keterangan, warna, koordinat FROM polyline ORDER BY id ASC";
|
|
$res = $koneksi->query($query_poly);
|
|
if ($res) {
|
|
while ($row = $res->fetch_assoc()) {
|
|
$row['id'] = (int)$row['id'];
|
|
// Decode koordinat JSON → array, kembalikan sebagai array PHP (akan di-encode ulang ke JSON)
|
|
$row['koordinat'] = json_decode($row['koordinat'], true);
|
|
$result['polyline'][] = $row;
|
|
}
|
|
$res->free();
|
|
} else {
|
|
$result['status'] = 'partial_error';
|
|
$result['error_polyline'] = $koneksi->error;
|
|
}
|
|
|
|
// ─── Ambil data Polygon ───────────────────────────────────────────────────────
|
|
$query_pgon = "SELECT id, nama_polygon, keterangan, warna, koordinat FROM polygon ORDER BY id ASC";
|
|
$res = $koneksi->query($query_pgon);
|
|
if ($res) {
|
|
while ($row = $res->fetch_assoc()) {
|
|
$row['id'] = (int)$row['id'];
|
|
$row['koordinat'] = json_decode($row['koordinat'], true);
|
|
$result['polygon'][] = $row;
|
|
}
|
|
$res->free();
|
|
} else {
|
|
$result['status'] = 'partial_error';
|
|
$result['error_polygon'] = $koneksi->error;
|
|
}
|
|
|
|
$koneksi->close();
|
|
|
|
echo json_encode($result);
|