Fix Kolom bantuan_tersalur"; function columnExists($conn, $table, $column) { $table = $conn->real_escape_string($table); $column = $conn->real_escape_string($column); $result = $conn->query("SHOW COLUMNS FROM `$table` LIKE '$column'"); return $result && $result->num_rows > 0; } function tableExists($conn, $table) { $table = $conn->real_escape_string($table); $result = $conn->query("SHOW TABLES LIKE '$table'"); return $result && $result->num_rows > 0; } function addColumnIfMissing($conn, $table, $column, $definition, $afterColumn = null) { if (columnExists($conn, $table, $column)) { echo "

Kolom $column sudah ada, dilewati.

"; return; } $afterSql = ""; if ($afterColumn && columnExists($conn, $table, $afterColumn)) { $afterSql = " AFTER `$afterColumn`"; } $sql = "ALTER TABLE `$table` ADD COLUMN `$column` $definition $afterSql"; if ($conn->query($sql)) { echo "

Kolom $column berhasil ditambahkan.

"; } else { echo "

Gagal tambah kolom $column: " . htmlspecialchars($conn->error) . "

"; } } $table = "bantuan_tersalur"; if (!tableExists($conn, $table)) { die("

Tabel bantuan_tersalur belum ada. Import database.sql dulu.

"); } // Tambahkan kolom status dulu karena status_konfirmasi ingin diletakkan setelah status. addColumnIfMissing( $conn, $table, "status", "ENUM('Pending','Tersalurkan') NOT NULL DEFAULT 'Tersalurkan'", "created_at" ); addColumnIfMissing( $conn, $table, "status_konfirmasi", "ENUM('Menunggu','Dikonfirmasi','Ditolak') NOT NULL DEFAULT 'Menunggu'", "status" ); addColumnIfMissing( $conn, $table, "nama_penerima_konfirmasi", "VARCHAR(150) DEFAULT NULL", "status_konfirmasi" ); addColumnIfMissing( $conn, $table, "catatan_konfirmasi", "TEXT DEFAULT NULL", "nama_penerima_konfirmasi" ); addColumnIfMissing( $conn, $table, "dikonfirmasi_oleh", "INT DEFAULT NULL", "catatan_konfirmasi" ); addColumnIfMissing( $conn, $table, "tgl_konfirmasi", "TIMESTAMP NULL DEFAULT NULL", "dikonfirmasi_oleh" ); $conn->query("UPDATE `$table` SET status = 'Tersalurkan' WHERE status IS NULL"); $conn->query("UPDATE `$table` SET status_konfirmasi = 'Menunggu' WHERE status_konfirmasi IS NULL"); echo "
"; echo "

Selesai. Coba buka dashboard relawan lagi.

"; echo "

Setelah berhasil, hapus file fixdata.php dari repo lalu redeploy.

"; ?>