Oke, mari kita bedah proses Edit Data ini pelan-pelan. Kita pakai perumpamaan agar lebih mudah masuk ke logika.

Bayangkan kamu adalah seorang petugas perpustakaan. Ada siswa yang ingin mengganti alamatnya di kartu anggota. Apa yang kamu lakukan?

  1. Kamu cari kartu siswanya (berdasarkan ID/Nomor Anggota).

  2. Kamu hapus alamat lama, lalu tulis alamat baru.

  3. Kamu simpan kembali kartu itu ke dalam laci.

Nah, di pemrograman PHP, langkah-langkahnya persis seperti itu! Mari kita buat sistemnya menjadi 3 bagian utama:


Bagian 1: Menyiapkan Tombol "Edit"

Kita harus memberitahu PHP data mana yang mau diedit. Caranya dengan mengirimkan ID melalui link.

Buka file tampil data kamu (misalnya index.php), dan pastikan di bagian tabelnya ada link seperti ini: 


<tr>
    <td><?php echo $data['nama']; ?></td>
    <td>
        <a href="edit.php?id=<?php echo $data['id']; ?>" style="color: blue;">Edit Data</a>
    </td>
</tr>

Bagian 2: Membuat Form Edit (edit.php)

File ini tugasnya "Mengambil data lama dan menampilkannya di form".

Kenapa harus tampil dulu? Karena user tidak mau mengetik ulang semua data dari nol. Mereka cuma ingin mengubah bagian yang salah saja.




<?php
include 'koneksi.php';

// 1. Tangkap ID dari URL menggunakan $_GET
$id = $_GET['id'];

// 2. Ambil data dari database yang ID-nya cocok
$query = mysqli_query($koneksi, "SELECT * FROM siswa WHERE id='$id'");
$data  = mysqli_fetch_array($query);

// Jika ID tidak ada di database, hentikan program
if (!$data) {
    die("Data tidak ditemukan!");
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Halaman Edit</title>
</head>
<body>
    <h3>Edit Profil Siswa</h3>

    <form action="proses_edit.php" method="POST">
        
        <input type="hidden" name="id_siswa" value="<?php echo $data['id']; ?>">

        <p>
            <label>Nama:</label><br>
            <input type="text" name="nama_baru" value="<?php echo $data['nama']; ?>">
        </p>

        <p>
            <label>Jurusan:</label><br>
            <input type="text" name="jurusan_baru" value="<?php echo $data['jurusan']; ?>">
        </p>

        <p>
            <button type="submit" name="update">Simpan Perubahan</button>
            <a href="index.php">Batal</a>
        </p>
    </form>
</body>
</html>

Bagian 3: Eksekusi Perubahan (proses_edit.php)

File ini tidak punya tampilan (kosong putih saja). Tugasnya hanya menerima data dari form tadi, lalu menyuruh MySQL untuk mengupdate.



<?php
include 'koneksi.php';

// Cek apakah tombol 'update' sudah dipencet
if (isset($_POST['update'])) {
    
    // 1. Ambil data dari Form menggunakan $_POST
    $id      = $_POST['id_siswa']; // Ini dari input hidden
    $nama    = $_POST['nama_baru'];
    $jurusan = $_POST['jurusan_baru'];

    // 2. Perintah SQL untuk Update. 
    // Ingat: SET (pasangkan kolom dengan data baru), WHERE (data mana yang mau diubah)
    $sql = "UPDATE siswa SET nama='$nama', jurusan='$jurusan' WHERE id='$id'";
    
    $eksekusi = mysqli_query($koneksi, $sql);

    // 3. Cek apakah berhasil atau tidak
    if ($eksekusi) {
        // Kalau berhasil, balikkan ke halaman utama
        echo "<script>alert('Berhasil diupdate!'); window.location='index.php';</script>";
    } else {
        // Kalau gagal, kasih tau errornya
        echo "Gagal update: " . mysqli_error($koneksi);
    }

} else {
    // Kalau orang mencoba akses file ini langsung tanpa lewat form
    header("Location: index.php");
}
?>

Perbedaan "Read" vs "Edit" (Agar Tidak Tertukar)

FiturPerintah SQLCara Kerja
ReadSELECT * FROM ...Menarik semua data untuk dipajang.
EditSELECT ... WHERE id=...Mencari 1 data spesifik untuk dimasukkan ke form.
UpdateUPDATE ... SET ... WHERE id=...Menimpa data lama dengan data baru hasil ketikan di form.