fix: add spbu table to setup_tables.php and show record counts

This commit is contained in:
2026-06-11 02:56:16 +07:00
parent 4de7e53dd9
commit ecff4e3efd
+27 -16
View File
@@ -1,6 +1,6 @@
<?php
// ==============================================================
// setup_tables.php — Buat tabel jalan & parsil di database webgis
// setup_tables.php — Buat semua tabel di database webgis
// HAPUS FILE INI SETELAH DIGUNAKAN!
// ==============================================================
$host = getenv('DB_HOST') ?: 'db';
@@ -13,11 +13,21 @@ if (!$conn) {
die('<p style="color:red">Koneksi gagal: ' . mysqli_connect_error() . '</p>');
}
echo '<style>body{font-family:monospace;background:#0b1120;color:#e0e6f0;padding:20px}.ok{color:#00c9aa}.err{color:#f03e5a}</style>';
echo '<style>body{font-family:monospace;background:#0b1120;color:#e0e6f0;padding:20px}.ok{color:#00c9aa}.err{color:#f03e5a}.info{color:#f59e0b}h2{color:#1a5fff}</style>';
echo '<h2>🛠️ Setup Tabel WebGIS SPBU</h2>';
$queries = [
"Buat tabel jalan" => "CREATE TABLE IF NOT EXISTS `jalan` (
$tables = [
"Tabel spbu" => "CREATE TABLE IF NOT EXISTS `spbu` (
`id` int NOT NULL AUTO_INCREMENT,
`nama_spbu` varchar(100) DEFAULT NULL,
`no_wa` varchar(20) DEFAULT NULL,
`buka_24jam` enum('Ya','Tidak') DEFAULT 'Tidak',
`latitude` double DEFAULT NULL,
`longitude` double DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
"Tabel jalan" => "CREATE TABLE IF NOT EXISTS `jalan` (
`id` int NOT NULL AUTO_INCREMENT,
`nama_jalan` varchar(150) NOT NULL,
`status_jalan` enum('Nasional','Provinsi','Kabupaten') DEFAULT 'Nasional',
@@ -26,7 +36,7 @@ $queries = [
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
"Buat tabel parsil" => "CREATE TABLE IF NOT EXISTS `parsil` (
"Tabel parsil" => "CREATE TABLE IF NOT EXISTS `parsil` (
`id` int NOT NULL AUTO_INCREMENT,
`nama_pemilik` varchar(150) NOT NULL,
`status` enum('SHM','HGB','HGU','HP') DEFAULT 'SHM',
@@ -36,25 +46,26 @@ $queries = [
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
];
foreach ($queries as $label => $sql) {
foreach ($tables as $label => $sql) {
if (mysqli_query($conn, $sql)) {
echo "<p class='ok'>✅ $label — berhasil.</p>";
echo "<p class='ok'>✅ $label — berhasil dibuat / sudah ada.</p>";
} else {
echo "<p class='err'>❌ $label" . mysqli_error($conn) . "</p>";
}
}
// Cek kolom buka_24jam di tabel spbu — pastikan enum-nya sudah benar
$check = mysqli_query($conn, "SHOW COLUMNS FROM spbu LIKE 'buka_24jam'");
$col = mysqli_fetch_assoc($check);
if ($col && strpos($col['Type'], 'enum') === false) {
mysqli_query($conn, "ALTER TABLE spbu MODIFY buka_24jam enum('Ya','Tidak') DEFAULT 'Tidak'");
echo "<p class='ok'>✅ Kolom buka_24jam diperbaiki.</p>";
} else {
echo "<p class='ok'> Tabel spbu sudah OK.</p>";
// Tampilkan jumlah data masing-masing tabel
echo '<hr style="border-color:#2d3449;margin:20px 0">';
echo '<h3 style="color:#f59e0b">📊 Data saat ini:</h3>';
$checks = ['spbu' => 'nama_spbu', 'jalan' => 'nama_jalan', 'parsil' => 'nama_pemilik'];
foreach ($checks as $tbl => $col) {
$r = mysqli_query($conn, "SELECT COUNT(*) as total FROM `$tbl`");
$row = mysqli_fetch_assoc($r);
echo "<p class='info'>📌 Tabel <b>$tbl</b>: " . $row['total'] . " record.</p>";
}
echo '<h3 style="color:#1a5fff">🎉 Setup selesai! Silakan hapus file ini sekarang.</h3>';
echo '<hr style="border-color:#2d3449;margin:20px 0">';
echo '<h3 style="color:#00c9aa">🎉 Setup selesai! Semua tabel sudah siap.</h3>';
echo '<p style="color:#f03e5a"><b>⚠️ PENTING: Hapus file ini setelah selesai!</b></p>';
echo '<p>→ <a href="/spbu/index.php" style="color:#1a5fff">Kembali ke SPBU Dashboard</a></p>';
mysqli_close($conn);