Files
D1041231084_Webgis_SPBU/setup_tables.php
T
2026-06-11 21:15:09 +07:00

88 lines
3.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
// ==============================================================
// setup_tables.php — Fix & buat semua tabel di database webgis
// HAPUS FILE INI SETELAH DIGUNAKAN!
// ==============================================================
$host = getenv('DB_HOST') ?: 'db';
$user = getenv('DB_USER') ?: 'root';
$pass = getenv('DB_PASS') ?: 'root';
$db = getenv('DB_NAME_SPBU') ?: 'webgis';
$conn = mysqli_connect($host, $user, $pass, $db);
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}.info{color:#f59e0b}.warn{color:#fb923c}h2,h3{color:#1a5fff}</style>';
echo '<h2>🛠️ Fix & Setup Tabel WebGIS SPBU</h2>';
// ── 1. SPBU table ──────────────────────────────────────────────
echo '<h3>📌 Tabel: spbu</h3>';
mysqli_query($conn, "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");
echo "<p class='ok'>✅ Tabel spbu OK.</p>";
// ── 2. JALAN table — drop & recreate (pasti schema benar) ──────
echo '<h3>📌 Tabel: jalan</h3>';
// Cek jumlah data dulu
$cntR = mysqli_query($conn, "SELECT COUNT(*) as c FROM jalan");
$cnt = $cntR ? mysqli_fetch_assoc($cntR)['c'] : 0;
echo "<p class='info'>️ Data jalan saat ini: <b>$cnt</b> record.</p>";
// Drop dan recreate karena schema mungkin salah
mysqli_query($conn, "DROP TABLE IF EXISTS `jalan`");
$r = mysqli_query($conn, "CREATE TABLE `jalan` (
`id` int NOT NULL AUTO_INCREMENT,
`nama_jalan` varchar(150) NOT NULL,
`status_jalan` enum('Nasional','Provinsi','Kabupaten') DEFAULT 'Nasional',
`panjang` double DEFAULT 0,
`geom` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
if ($r) {
echo "<p class='ok'>✅ Tabel jalan di-recreate dengan schema yang benar (status_jalan ✓).</p>";
} else {
echo "<p class='err'>❌ Error: " . mysqli_error($conn) . "</p>";
}
// ── 3. PARSIL table — drop & recreate ──────────────────────────
echo '<h3>📌 Tabel: parsil</h3>';
$cntR2 = mysqli_query($conn, "SELECT COUNT(*) as c FROM parsil");
$cnt2 = $cntR2 ? mysqli_fetch_assoc($cntR2)['c'] : 0;
echo "<p class='info'>️ Data parsil saat ini: <b>$cnt2</b> record.</p>";
mysqli_query($conn, "DROP TABLE IF EXISTS `parsil`");
$r2 = mysqli_query($conn, "CREATE TABLE `parsil` (
`id` int NOT NULL AUTO_INCREMENT,
`nama_pemilik` varchar(150) NOT NULL,
`status` enum('SHM','HGB','HGU','HP') DEFAULT 'SHM',
`luas` double DEFAULT 0,
`geom` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
if ($r2) {
echo "<p class='ok'>✅ Tabel parsil di-recreate dengan schema yang benar.</p>";
} else {
echo "<p class='err'>❌ Error: " . mysqli_error($conn) . "</p>";
}
// ── Verifikasi kolom ────────────────────────────────────────────
echo '<hr style="border-color:#2d3449;margin:20px 0">';
echo '<h3>🔍 Verifikasi Kolom Tabel Jalan:</h3>';
$cols = mysqli_query($conn, "SHOW COLUMNS FROM jalan");
while ($col = mysqli_fetch_assoc($cols)) {
echo "<p class='ok'> ✓ {$col['Field']} ({$col['Type']})</p>";
}
echo '<hr style="border-color:#2d3449;margin:20px 0">';
echo '<h3 style="color:#00c9aa">🎉 Fix selesai! Sekarang coba Tambah Jalan lagi.</h3>';
echo '<p style="color:#f03e5a"><b>⚠️ 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);
?>