diff --git a/uas/import_temp.php b/uas/import_temp.php index 13a884e..82a0035 100644 --- a/uas/import_temp.php +++ b/uas/import_temp.php @@ -1,8 +1,5 @@ connect_error) { - die("Koneksi gagal: " . $conn->connect_error); -} +if ($conn->connect_error) die("Koneksi gagal: " . $conn->connect_error); -$sql = file_get_contents(__DIR__ . '/db_webgis.sql'); -if (!$sql) { - die("File SQL tidak ditemukan"); -} +$queries = [ + "CREATE TABLE IF NOT EXISTS users ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(50) UNIQUE NOT NULL, + password VARCHAR(255) NOT NULL, + nama VARCHAR(100), + role ENUM('superadmin','admin','operator') DEFAULT 'operator', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + )", + "CREATE TABLE IF NOT EXISTS rumah_ibadah ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama VARCHAR(255) NOT NULL, + jenis ENUM('Masjid','Musholla','Gereja Protestan','Gereja Katolik','Pura','Vihara','Klenteng','Lainnya') DEFAULT 'Masjid', + kontak VARCHAR(100), + alamat TEXT, + lat DECIMAL(10,7) NOT NULL, + lng DECIMAL(10,7) NOT NULL, + radius INT DEFAULT 300, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP + )", + "CREATE TABLE IF NOT EXISTS penduduk_miskin ( + id INT AUTO_INCREMENT PRIMARY KEY, + kk_nama VARCHAR(255) NOT NULL, + nik VARCHAR(20), + alamat TEXT, + kecamatan VARCHAR(100), + kelurahan VARCHAR(100), + lat DECIMAL(10,7) NOT NULL, + lng DECIMAL(10,7) NOT NULL, + jumlah_anggota INT DEFAULT 1, + rumah_ibadah_id INT, + jarak_meter DECIMAL(10,2), + status_bantuan ENUM('belum_dibantu','sudah_dibantu','menunggu_verifikasi') DEFAULT 'belum_dibantu', + jenis_bantuan VARCHAR(255), + tanggal_bantuan DATE, + bukti_file VARCHAR(255), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL + )", + "CREATE TABLE IF NOT EXISTS anggota_keluarga ( + id INT AUTO_INCREMENT PRIMARY KEY, + penduduk_id INT NOT NULL, + nama VARCHAR(255) NOT NULL, + hubungan VARCHAR(50), + umur INT, + pekerjaan VARCHAR(100), + keterangan TEXT, + FOREIGN KEY (penduduk_id) REFERENCES penduduk_miskin(id) ON DELETE CASCADE + )", + "INSERT IGNORE INTO users (username, password, nama, role) VALUES + ('admin', '\$2y\$10\$TKh8H1.PfGLmAdaQXDLZQO3L4LYKE/VNRN3hJ3oZpYb7U0u0EWxLe', 'Administrator', 'superadmin'), + ('operator', '\$2y\$10\$TKh8H1.PfGLmAdaQXDLZQO3L4LYKE/VNRN3hJ3oZpYb7U0u0EWxLe', 'Operator Lapangan', 'operator')", + "INSERT IGNORE INTO rumah_ibadah (id, nama, jenis, kontak, alamat, lat, lng, radius) VALUES + (1,'Masjid Raya Mujahidin','Masjid','0561-123456','Jl. Ahmad Yani, Pontianak',-0.0262,109.3429,500), + (2,'Gereja Katedral Santo Yosef','Gereja Katolik','0561-234567','Jl. Pattimura, Pontianak',-0.0312,109.3301,400), + (3,'Vihara Bodhisattva Karaniya Metta','Vihara','0561-345678','Jl. Tanjungpura, Pontianak',-0.0355,109.3344,350), + (4,'Pura Agung Nusantara','Pura','0561-456789','Jl. Gajah Mada, Pontianak',-0.0409,109.3221,400), + (5,'Musholla Al-Ikhlas','Musholla',NULL,'Jl. Kom Yos Sudarso, Pontianak',-0.0195,109.3553,250)", + "INSERT IGNORE INTO penduduk_miskin (id, kk_nama, nik, alamat, lat, lng, rumah_ibadah_id, jarak_meter, status_bantuan, jenis_bantuan, tanggal_bantuan) VALUES + (1,'Ahmad Subandi','6171011234560001','Gg. Melati No.3, Pontianak Selatan',-0.0290,109.3410,1,312.5,'sudah_dibantu','PKH','2024-03-01'), + (2,'Siti Rahayu','6171021234560002','Jl. Budi Utomo Gg.5, Pontianak',-0.0278,109.3450,1,245.0,'belum_dibantu',NULL,NULL), + (3,'Budi Santoso','6171031234560003','Jl. Gusti Hamzah, Pontianak Utara',-0.0320,109.3290,2,198.3,'menunggu_verifikasi',NULL,NULL), + (4,'Maria Yuliana','6171041234560004','Jl. Purnama Gg.2, Pontianak',-0.0350,109.3320,3,267.1,'sudah_dibantu','BPNT + PKH','2024-01-15'), + (5,'Wati Sari','6171051234560005','Jl. Kom Yos Sudarso, Pontianak Timur',-0.0188,109.3561,5,89.4,'belum_dibantu',NULL,NULL)" +]; -$conn->multi_query($sql); -do { - $conn->store_result(); -} while ($conn->next_result()); - -if ($conn->errno) { - echo "Error: " . $conn->error; -} else { - echo "Import berhasil! Hapus file ini sekarang."; +$ok = 0; $err = []; +foreach ($queries as $q) { + if ($conn->query($q)) $ok++; + else $err[] = $conn->error; } $conn->close(); + +if (empty($err)) { + echo "Import berhasil! $ok queries sukses. Hapus file ini sekarang."; +} else { + echo "Selesai dengan error: " . implode(', ', $err); +}