fix : import db

This commit is contained in:
2026-06-11 16:16:26 +07:00
parent 9c491a4af7
commit 06e841d55f
3 changed files with 96 additions and 4 deletions
+45
View File
@@ -0,0 +1,45 @@
<?php
// Menyertakan file koneksi yang sudah kamu perbaiki sebelumnya
include 'koneksi.php';
echo "<div style='font-family:sans-serif; padding:20px; background:#f8fafc; border-radius:8px;'>";
echo "<h2 style='color:#1e3a8a;'>🚀 Database Auto-Importer & Repair — Folder 01</h2>";
echo "<p>Sedang mengeksekusi migrasi tabel dan perbaikan kolom...</p><hr>";
// Kumpulan query SQL untuk menyusun tabel dan memperbaiki error 'radius_warga' kemarin
$queries = [];
$queries[] = "CREATE TABLE IF NOT EXISTS jalan (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nama_jalan VARCHAR(100) NOT NULL,
status_jalan VARCHAR(50) NOT NULL,
geojson TEXT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
$queries[] = "CREATE TABLE IF NOT EXISTS parsil (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nama_pemilik VARCHAR(100) DEFAULT NULL,
pemilik_tanah VARCHAR(100) DEFAULT NULL,
status_kepemilikan VARCHAR(50) DEFAULT NULL,
status_shm VARCHAR(50) DEFAULT NULL,
geojson TEXT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
// Trik Aman: Cek dan tambah kolom radius_warga jika belum ada di tabel penduduk/titik krisis kamu
// Ganti 'penduduk_miskin' dengan nama tabel titik utama kamu di folder 01 jika berbeda
$queries[] = "ALTER TABLE parsil ADD COLUMN IF NOT EXISTS radius_warga INT(11) DEFAULT 0;";
// Eksekusi satu per satu agar jika ada yang salah, query lain tetap jalan
$success = 0;
foreach ($queries as $index => $sql) {
if (mysqli_query($conn, $sql)) {
$success++;
} else {
echo "<p style='color:red;'>❌ Gagal pada query ke-" . ($index + 1) . ": " . mysqli_error($conn) . "</p>";
}
}
echo "<br><b style='color:green;'>✔ Selesai! Berhasil mengeksekusi $success perintah SQL di database target.</b>";
echo "<br><br><a href='index.php'>← Kembali ke Peta Utama</a>";
echo "</div>";
?>
+47
View File
@@ -0,0 +1,47 @@
<?php
include 'koneksi.php';
echo "<div style='font-family:sans-serif; padding:20px; background:#fafaf9; border-radius:8px;'>";
echo "<h2 style='color:#0f766e;'>🏛 Database Importer Intervensi Walikota Pontianak — Folder 02</h2>";
echo "<p>Sedang membangun skema tabel relasional (Masyarakat, Histori Bantuan)...</p><hr>";
$queries = [];
// Tabel utama penduduk miskin krisis kesehatan Pontianak
$queries[] = "CREATE TABLE IF NOT EXISTS penduduk_miskin (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nama_kk VARCHAR(100) NOT NULL,
tanggal_lahir DATE NOT NULL,
alamat TEXT NOT NULL,
anggota_keluarga INT(11) NOT NULL,
pendidikan_terakhir VARCHAR(50) NOT NULL,
riwayat_penyakit VARCHAR(255) DEFAULT 'Tidak Ada',
latitude VARCHAR(50) NOT NULL,
longitude VARCHAR(50) NOT NULL,
status_verifikasi VARCHAR(30) DEFAULT 'Pending'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
// Tabel histori bantuan yang berelasi dengan penduduk_miskin (One to Many)
$queries[] = "CREATE TABLE IF NOT EXISTS histori_bantuan (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
id_miskin INT(11) NOT NULL,
nama_bantuan VARCHAR(100) NOT NULL,
tanggal_penyaluran DATE NOT NULL,
sumber_dana VARCHAR(50) NOT NULL,
keterangan TEXT,
FOREIGN KEY (id_miskin) REFERENCES penduduk_miskin(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
$success = 0;
foreach ($queries as $index => $sql) {
if (mysqli_query($conn, $sql)) {
$success++;
} else {
echo "<p style='color:red;'>❌ Gagal pada query ke-" . ($index + 1) . ": " . mysqli_error($conn) . "</p>";
}
}
echo "<br><b style='color:teal;'>✔ Selesai! Berhasil mengimpor $success tabel intervensi ke database server.</b>";
echo "<br><br><a href='index.php'>← Kembali ke Peta Utama</a>";
echo "</div>";
?>
+4 -4
View File
@@ -1,8 +1,8 @@
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "db_gis_spbu"; // Sesuaikan dengan nama database kamu
$host = "so0ww048o44c0o0k8gg0kocg"; // Menggunakan ID service internal Coolify kamu
$user = "mysql"; // Sesuai dengan Normal User di gambar
$pass = "BzGKKh22m8l320uQhLLa4cxstNdyDXGHPO1Qsv83UGNJ2Hy0PyCfrEKf46eD2hCD"; // Gunakan password user dari URL connection string kamu
$db = "default";
$conn = mysqli_connect($host, $user, $pass, $db);