diff --git a/cek_bantuan.php b/cek_bantuan.php new file mode 100644 index 0000000..69917c3 --- /dev/null +++ b/cek_bantuan.php @@ -0,0 +1,460 @@ + 0) { + $hasil = mysqli_fetch_assoc($q); + + // Ambil riwayat bantuan + $qb = mysqli_query($conn, " + SELECT jenis_bantuan, jumlah_bantuan, tanggal_bantuan, keterangan + FROM bantuan + WHERE penduduk_id = {$hasil['id']} + ORDER BY tanggal_bantuan DESC + "); + while ($rb = mysqli_fetch_assoc($qb)) { + $riwayat[] = $rb; + } + } else { + $error = 'NIK tidak ditemukan dalam sistem. Pastikan NIK yang kamu masukkan sudah benar.'; + } + } +} + +$nama_bulan = ['01'=>'Januari','02'=>'Februari','03'=>'Maret','04'=>'April','05'=>'Mei', + '06'=>'Juni','07'=>'Juli','08'=>'Agustus','09'=>'September','10'=>'Oktober', + '11'=>'November','12'=>'Desember']; + +function formatTanggal($tgl) { + global $nama_bulan; + if (!$tgl) return '-'; + $parts = explode('-', $tgl); + if (count($parts) !== 3) return $tgl; + return $parts[2] . ' ' . ($nama_bulan[$parts[1]] ?? $parts[1]) . ' ' . $parts[0]; +} + +function formatRupiah($angka) { + return 'Rp ' . number_format((int)$angka, 0, ',', '.'); +} + +$jenis_icon = ['Beras'=>'🌾','Sembako'=>'πŸ›’','Uang Tunai'=>'πŸ’°','Pendidikan'=>'πŸ“š','Kesehatan'=>'πŸ₯']; +$jenis_warna = ['Beras'=>'#f39c12','Sembako'=>'#3498db','Uang Tunai'=>'#27ae60','Pendidikan'=>'#9b59b6','Kesehatan'=>'#e74c3c']; +$kategori_warna = ['Miskin Ekstrem'=>'#e74c3c','Miskin'=>'#e67e22','Hampir Miskin'=>'#f1c40f']; +$status_warna = ['Sedang'=>'#27ae60','Pernah'=>'#3498db','Belum'=>'#95a5a6']; +$status_label = ['Sedang'=>'Sedang Menerima','Pernah'=>'Pernah Menerima','Belum'=>'Belum Menerima']; +?> + + + + + +Cek Status Bantuan - WebGIS Kemiskinan Pontianak + + + + + +
+ +

Cek Status Bantuan

+

WebGIS Kemiskinan Kota Pontianak Β· Masukkan NIK untuk melihat status bantuan Anda

+
+ + +
+ +
+
+ + +
+

Contoh: 6171010203980001  Β·  NIK terdiri dari 16 angka sesuai KTP

+
+
+ + + +
+
+ ⚠️ +
+ Data tidak ditemukan
+ +

+ Jika kamu merasa sudah terdaftar, hubungi petugas kelurahan setempat untuk konfirmasi. +
+
+
+ + + + +
+
+ + Foto + +
πŸ‘€
+ +
+
+
NIK:
+ + + + +
+
+ +
+
+
Alamat
+
+
+
+
Pekerjaan
+
+
+
+
Penghasilan
+
/bulan
+
+
+
Anggota Keluarga
+
orang
+
+
+
Jumlah Tanggungan
+
orang
+
+
+
Kategori Kemiskinan
+
+ + + + +
+
+ +
+
Keterangan
+
+
+ +
+
+ + +
+
+ 🎁 Riwayat Bantuan yang Diterima + kali +
+ + +
+ πŸ“­ + Belum ada riwayat bantuan yang tercatat.
+ Hubungi petugas untuk informasi lebih lanjut. +
+ + +
+
+
+
+
Jumlah:
+
πŸ“…
+ +
πŸ“
+ +
+
+ + +
+ + + + + + + + + \ No newline at end of file diff --git a/cek_env.php b/cek_env.php index f183bd8..24c0c9b 100644 --- a/cek_env.php +++ b/cek_env.php @@ -1,10 +1,9 @@ "; -echo "DB_HOST = " . (getenv('DB_HOST') ?: '(kosong)') . "\n"; -echo "DB_PORT = " . (getenv('DB_PORT') ?: '(kosong)') . "\n"; -echo "DB_NAME = " . (getenv('DB_NAME') ?: '(kosong)') . "\n"; -echo "DB_USER = " . (getenv('DB_USER') ?: '(kosong)') . "\n"; -echo "DB_PASS = " . (getenv('DB_PASS') ? 'TERISI' : '(kosong)') . "\n"; -echo ""; +header('Content-Type: text/plain; charset=utf-8'); +echo "DB_HOST=" . (getenv('DB_HOST') ?: '(kosong)') . "\n"; +echo "DB_PORT=" . (getenv('DB_PORT') ?: '(kosong)') . "\n"; +echo "DB_NAME=" . (getenv('DB_NAME') ?: '(kosong)') . "\n"; +echo "DB_USER=" . (getenv('DB_USER') ?: '(kosong)') . "\n"; +echo "DB_PASS=" . (getenv('DB_PASS') ? 'TERISI' : '(kosong)') . "\n"; +echo "DB_PASSWORD=" . (getenv('DB_PASSWORD') ? 'TERISI' : '(kosong)') . "\n"; ?> diff --git a/database.sql b/database.sql index 5f3fed3..6c52244 100644 --- a/database.sql +++ b/database.sql @@ -1,5 +1,9 @@ --- Database UAS WebGIS Kemiskinan Tania --- Cocok untuk Coolify. Database dibuat dari Initial Database, jadi tidak perlu CREATE DATABASE. +-- ========================================================== +-- Database WebGIS Kemiskinan Pontianak +-- Untuk Coolify: gunakan database aktif dari resource MySQL/MariaDB. +-- Tidak memakai CREATE DATABASE dan USE agar tidak nyasar database. +-- Akun admin demo: admin / password +-- ========================================================== SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS bantuan; @@ -12,37 +16,42 @@ CREATE TABLE admin ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, - nama_lengkap VARCHAR(150) DEFAULT 'Administrator', + nama VARCHAR(150) DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE rumah_ibadah ( id INT AUTO_INCREMENT PRIMARY KEY, nama_rumah_ibadah VARCHAR(150) NOT NULL, - alamat TEXT, + alamat TEXT DEFAULT NULL, lat DOUBLE NOT NULL, lng DOUBLE NOT NULL, jenis_rumah_ibadah ENUM('masjid','gereja') DEFAULT 'masjid', - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE penduduk_miskin ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(150) NOT NULL, - nik VARCHAR(30) DEFAULT NULL, - alamat TEXT, - pekerjaan VARCHAR(100) DEFAULT NULL, - penghasilan INT DEFAULT 0, + nik VARCHAR(32) DEFAULT NULL, + alamat TEXT DEFAULT NULL, + pekerjaan VARCHAR(120) DEFAULT NULL, + penghasilan BIGINT DEFAULT 0, jumlah_anggota_keluarga INT DEFAULT 1, jumlah_tanggungan INT DEFAULT 0, - kategori_kemiskinan ENUM('Miskin','Miskin Ekstrem','Hampir Miskin') DEFAULT 'Miskin', - status_bantuan ENUM('Belum','Pernah','Sedang') DEFAULT 'Belum', - keterangan TEXT, + kategori_kemiskinan ENUM('Miskin Ekstrem','Miskin','Hampir Miskin') DEFAULT 'Miskin', + status_bantuan ENUM('Belum','Sedang','Pernah') DEFAULT 'Belum', + keterangan TEXT DEFAULT NULL, foto VARCHAR(255) DEFAULT NULL, lat DOUBLE NOT NULL, lng DOUBLE NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_nik (nik), + INDEX idx_status_bantuan (status_bantuan), + INDEX idx_kategori (kategori_kemiskinan) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE bantuan ( id INT AUTO_INCREMENT PRIMARY KEY, @@ -50,28 +59,31 @@ CREATE TABLE bantuan ( jenis_bantuan VARCHAR(100) NOT NULL, jumlah_bantuan VARCHAR(100) DEFAULT NULL, tanggal_bantuan DATE NOT NULL, - keterangan TEXT, + keterangan TEXT DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_bantuan_penduduk FOREIGN KEY (penduduk_id) REFERENCES penduduk_miskin(id) - ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + ON DELETE SET NULL, + INDEX idx_tanggal_bantuan (tanggal_bantuan), + INDEX idx_jenis_bantuan (jenis_bantuan) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO admin (username, password, nama_lengkap) VALUES +INSERT INTO admin (username, password, nama) VALUES ('admin', 'password', 'Administrator'); INSERT INTO rumah_ibadah (nama_rumah_ibadah, alamat, lat, lng, jenis_rumah_ibadah) VALUES -('Masjid Raya Mujahidin', 'Jl. Jenderal Ahmad Yani, Pontianak', -0.042338, 109.343906, 'masjid'), -('Masjid Jami Sultan Syarif Abdurrahman', 'Kampung Beting, Pontianak Timur', -0.021844, 109.351909, 'masjid'), -('Gereja Katedral Santo Yosef', 'Jl. Pattimura, Pontianak', -0.027104, 109.342337, 'gereja'), -('Gereja HKBP Pontianak', 'Pontianak Kota', -0.033862, 109.333546, 'gereja'); +('Masjid Raya Mujahidin', 'Jl. Jenderal Ahmad Yani, Pontianak', -0.05539, 109.34651, 'masjid'), +('Masjid Jami Sultan Syarif Abdurrahman', 'Pontianak Timur, Kota Pontianak', -0.02386, 109.34458, 'masjid'), +('Gereja Katedral Santo Yosef', 'Jl. Pattimura, Pontianak', -0.03195, 109.33988, 'gereja'), +('Gereja HKBP Pontianak', 'Pontianak Kota, Kota Pontianak', -0.04590, 109.33310, 'gereja'); INSERT INTO penduduk_miskin (nama, nik, alamat, pekerjaan, penghasilan, jumlah_anggota_keluarga, jumlah_tanggungan, kategori_kemiskinan, status_bantuan, keterangan, foto, lat, lng) VALUES -('Ahmad Supriadi', '6171010101010001', 'Pontianak Kota', 'Buruh Harian', 900000, 5, 3, 'Miskin', 'Belum', 'Membutuhkan bantuan sembako', '', -0.030500, 109.336200), -('Siti Aminah', '6171010101010002', 'Pontianak Barat', 'Ibu Rumah Tangga', 650000, 4, 2, 'Miskin Ekstrem', 'Sedang', 'Prioritas bantuan pangan', '', -0.025800, 109.315900), -('Budi Santoso', '6171010101010003', 'Pontianak Timur', 'Nelayan', 1100000, 6, 4, 'Hampir Miskin', 'Pernah', 'Butuh bantuan modal usaha', '', -0.018900, 109.366800); +('Budi Santoso', '6171010101010001', 'Pontianak Kota', 'Buruh harian', 800000, 5, 4, 'Miskin', 'Pernah', 'Data dummy untuk testing sistem', '', -0.04120, 109.32100), +('Siti Aminah', '6171010101010002', 'Pontianak Selatan', 'Pedagang kecil', 650000, 4, 3, 'Miskin Ekstrem', 'Belum', 'Prioritas bantuan', '', -0.05500, 109.34500), +('Rahmat Hidayat', '6171010101010003', 'Pontianak Utara', 'Pekerja tidak tetap', 900000, 6, 5, 'Miskin', 'Sedang', 'Masih dalam proses pendataan', '', -0.00600, 109.33000), +('Marlina', '6171010101010004', 'Pontianak Barat', 'Ibu rumah tangga', 500000, 3, 2, 'Hampir Miskin', 'Belum', 'Data dummy wilayah Pontianak Barat', '', -0.02000, 109.29500); INSERT INTO bantuan (penduduk_id, jenis_bantuan, jumlah_bantuan, tanggal_bantuan, keterangan) VALUES -(2, 'Sembako', '1 paket', CURDATE(), 'Bantuan awal'), -(3, 'Uang Tunai', 'Rp 300.000', CURDATE(), 'Bantuan sosial'); +(1, 'Sembako', '1 paket', CURDATE(), 'Bantuan sembako bulanan'), +(3, 'Beras', '10 kg', CURDATE(), 'Bantuan beras untuk keluarga penerima manfaat');