fix : add object bug
This commit is contained in:
+15
-15
@@ -1,14 +1,13 @@
|
||||
<?php
|
||||
// Menyertakan file koneksi
|
||||
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 secara aman...</p><hr>";
|
||||
echo "<h2 style='color:#1e3a8a;'>🚀 Database Sync & Repair — Folder 01</h2>";
|
||||
echo "<p>Sedang memperbaiki struktur tabel Tugas...</p><hr>";
|
||||
|
||||
$queries = [];
|
||||
|
||||
// 1. Buat tabel jalan jika belum ada
|
||||
// 1. Buat/Perbaiki tabel jalan
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS jalan (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_jalan VARCHAR(100) NOT NULL,
|
||||
@@ -16,30 +15,28 @@ $queries[] = "CREATE TABLE IF NOT EXISTS jalan (
|
||||
geojson TEXT NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// 2. Buat tabel parsil jika belum ada
|
||||
// 2. Buat/Perbaiki tabel parsil (Ditambahkan kolom luas_tanah)
|
||||
$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,
|
||||
luas_tanah VARCHAR(50) DEFAULT NULL,
|
||||
geojson TEXT NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// 3. Buat tabel penduduk / titik warga miskin LANGSUNG dengan kolom radius_warga di dalamnya
|
||||
// (Ini menggantikan perintah ALTER TABLE yang error kemarin agar 100% aman)
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS penduduk_miskin (
|
||||
// 3. Buat tabel SPBU yang hilang (Solusi Error simpan_spbu.php)
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS spbu (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_kk VARCHAR(100) NOT NULL,
|
||||
nama_spbu VARCHAR(100) NOT NULL,
|
||||
alamat TEXT NOT NULL,
|
||||
anggota_keluarga INT(11) NOT NULL,
|
||||
pendidikan_terakhir VARCHAR(50) NOT NULL,
|
||||
latitude VARCHAR(50) NOT NULL,
|
||||
longitude VARCHAR(50) NOT NULL,
|
||||
radius_warga INT(11) NOT NULL DEFAULT 300
|
||||
geojson TEXT DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// Eksekusi semua query satu per satu
|
||||
// Eksekusi pembaruan
|
||||
$success = 0;
|
||||
foreach ($queries as $index => $sql) {
|
||||
if (mysqli_query($conn, $sql)) {
|
||||
@@ -49,7 +46,10 @@ foreach ($queries as $index => $sql) {
|
||||
}
|
||||
}
|
||||
|
||||
echo "<br><b style='color:green;'>✔ Selesai! Berhasil mengeksekusi $success perintah SQL dengan sukses tanpa error syntax.</b>";
|
||||
echo "<br><br><a href='index.php'>← Kembali ke Peta Utama</a>";
|
||||
// Fitur Tambahan: Suntik paksa kolom luas_tanah jika tabel parsil lama sudah terlanjur ada
|
||||
mysqli_query($conn, "ALTER TABLE parsil ADD COLUMN IF NOT EXISTS luas_tanah VARCHAR(50) DEFAULT NULL;");
|
||||
|
||||
echo "<br><b style='color:green;'>✔ Selesai! Folder 01 siap digunakan kembali.</b>";
|
||||
echo "<br><br><a href='index.php'>← Kembali ke Peta</a>";
|
||||
echo "</div>";
|
||||
?>
|
||||
+28
-19
@@ -2,12 +2,12 @@
|
||||
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 (Updated)</h2>";
|
||||
echo "<p>Sedang membangun skema tabel relasional dan hak akses pengguna...</p><hr>";
|
||||
echo "<h2 style='color:#0f766e;'>🏛 Database Sync & Repair — Folder 02 (UAS)</h2>";
|
||||
echo "<p>Sedang memperbaiki relasi data intervensi krisis...</p><hr>";
|
||||
|
||||
$queries = [];
|
||||
|
||||
// 1. Tabel Otentikasi Pengguna (Users) untuk Login
|
||||
// 1. Tabel Users
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS users (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
@@ -16,37 +16,44 @@ $queries[] = "CREATE TABLE IF NOT EXISTS users (
|
||||
role VARCHAR(30) NOT NULL DEFAULT 'admin'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// 2. Isi Akun Default untuk Login (Username: admin, Password: admin)
|
||||
// Menggunakan INSERT IGNORE agar jika di-refresh tidak menduplikat data
|
||||
$queries[] = "INSERT IGNORE INTO users (id, username, password, nama_lengkap, role)
|
||||
VALUES (1, 'admin', 'admin', 'Diva Schenka (Admin)', 'admin'),
|
||||
(2, 'walikota', 'walikota', 'Walikota Pontianak', 'walikota');";
|
||||
VALUES (1, 'admin', 'admin', 'Diva Schenka (Admin)', 'admin');";
|
||||
|
||||
// 3. Tabel utama penduduk miskin krisis kesehatan Pontianak
|
||||
// 2. Tabel Penduduk Miskin (Ditambahkan kolom 'umur' sesuai error simpan_miskin.php)
|
||||
$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,
|
||||
tanggal_lahir DATE DEFAULT NULL,
|
||||
umur INT(11) DEFAULT NULL,
|
||||
alamat TEXT NOT NULL,
|
||||
anggota_keluarga INT(11) NOT NULL,
|
||||
pendidikan_terakhir VARCHAR(50) NOT NULL,
|
||||
anggota_keluarga INT(11) DEFAULT 0,
|
||||
pendidikan_terakhir VARCHAR(50) DEFAULT 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;";
|
||||
|
||||
// 4. Tabel histori bantuan yang berelasi dengan penduduk_miskin (One to Many)
|
||||
// 3. Tabel Histori Bantuan (Kolom relasi disesuaikan menjadi id_warga agar JOIN h.id_warga sukses)
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS histori_bantuan (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
id_miskin INT(11) NOT NULL,
|
||||
id_warga 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
|
||||
keterangan TEXT
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// 4. Tabel laporan_cepat yang dilaporkan hilang (Solusi Error kelola_laporan.php)
|
||||
$queries[] = "CREATE TABLE IF NOT EXISTS laporan_cepat (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
nama_pelapor VARCHAR(100) NOT NULL,
|
||||
perihal VARCHAR(255) NOT NULL,
|
||||
pesan TEXT NOT NULL,
|
||||
tanggal_kirim TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
||||
|
||||
// Eksekusi semua skema baru
|
||||
$success = 0;
|
||||
foreach ($queries as $index => $sql) {
|
||||
if (mysqli_query($conn, $sql)) {
|
||||
@@ -56,9 +63,11 @@ foreach ($queries as $index => $sql) {
|
||||
}
|
||||
}
|
||||
|
||||
echo "<br><b style='color:teal;'>✔ Selesai! Berhasil memperbarui $success skema tabel termasuk hak akses login.</b>";
|
||||
echo "<br><p>Silakan coba login kembali menggunakan akun:</p>";
|
||||
echo "<ul><li>Username: <b>admin</b> | Password: <b>admin</b></li><li>Username: <b>walikota</b> | Password: <b>walikota</b></li></ul>";
|
||||
echo "<br><a href='login.php'>👉 Menuju Halaman Login</a>";
|
||||
// Trik Aman: Tambah kolom mendadak jika tabel lama masih mengunci di server
|
||||
mysqli_query($conn, "ALTER TABLE penduduk_miskin ADD COLUMN IF NOT EXISTS umur INT(11) DEFAULT NULL;");
|
||||
mysqli_query($conn, "ALTER TABLE histori_bantuan ADD COLUMN IF NOT EXISTS id_warga INT(11) NOT NULL;");
|
||||
|
||||
echo "<br><b style='color:teal;'>✔ Selesai! Seluruh struktur tabel UAS telah diselaraskan.</b>";
|
||||
echo "<br><br><a href='index.php'>← Kembali ke Peta Utama</a>";
|
||||
echo "</div>";
|
||||
?>
|
||||
Reference in New Issue
Block a user