From 448dfaa75d544d72e38729d5bf0c65a02967e6d5 Mon Sep 17 00:00:00 2001 From: d1041231017-star Date: Thu, 11 Jun 2026 18:13:11 +0700 Subject: [PATCH] fix : add object bug --- 01/import_db.php | 30 +++++++++++++++--------------- 02/import_db.php | 47 ++++++++++++++++++++++++++++------------------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/01/import_db.php b/01/import_db.php index f6fd5a9..9f40bb3 100644 --- a/01/import_db.php +++ b/01/import_db.php @@ -1,14 +1,13 @@ "; -echo "

🚀 Database Auto-Importer & Repair — Folder 01

"; -echo "

Sedang mengeksekusi migrasi tabel secara aman...


"; +echo "

🚀 Database Sync & Repair — Folder 01

"; +echo "

Sedang memperbaiki struktur tabel Tugas...


"; $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 "
✔ Selesai! Berhasil mengeksekusi $success perintah SQL dengan sukses tanpa error syntax."; -echo "

← Kembali ke Peta Utama"; +// 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 "
✔ Selesai! Folder 01 siap digunakan kembali."; +echo "

← Kembali ke Peta"; echo ""; ?> \ No newline at end of file diff --git a/02/import_db.php b/02/import_db.php index 8e16d6b..96729d1 100644 --- a/02/import_db.php +++ b/02/import_db.php @@ -2,12 +2,12 @@ include 'koneksi.php'; echo "
"; -echo "

🏛 Database Importer Intervensi Walikota Pontianak — Folder 02 (Updated)

"; -echo "

Sedang membangun skema tabel relasional dan hak akses pengguna...


"; +echo "

🏛 Database Sync & Repair — Folder 02 (UAS)

"; +echo "

Sedang memperbaiki relasi data intervensi krisis...


"; $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 "
✔ Selesai! Berhasil memperbarui $success skema tabel termasuk hak akses login."; -echo "

Silakan coba login kembali menggunakan akun:

"; -echo ""; -echo "
👉 Menuju Halaman Login"; +// 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 "
✔ Selesai! Seluruh struktur tabel UAS telah diselaraskan."; +echo "

← Kembali ke Peta Utama"; echo "
"; ?> \ No newline at end of file