73 lines
2.9 KiB
PHP
73 lines
2.9 KiB
PHP
<?php
|
|
// ==============================================================
|
|
// setup_tables.php — 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}h2{color:#1a5fff}</style>';
|
|
echo '<h2>🛠️ Setup Tabel WebGIS SPBU</h2>';
|
|
|
|
$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',
|
|
`panjang` double DEFAULT 0,
|
|
`geom` longtext,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
|
|
|
|
"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',
|
|
`luas` double DEFAULT 0,
|
|
`geom` longtext,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
|
|
];
|
|
|
|
foreach ($tables as $label => $sql) {
|
|
if (mysqli_query($conn, $sql)) {
|
|
echo "<p class='ok'>✅ $label — berhasil dibuat / sudah ada.</p>";
|
|
} else {
|
|
echo "<p class='err'>❌ $label — " . mysqli_error($conn) . "</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 '<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);
|
|
?>
|