Mengedit Entri Basis Data dalam PHP
Sekarang mari kita implementasikan pengeditan pengguna.
Untuk ini kita membutuhkan dua halaman: halaman
edit.php, yang akan berisi
formulir untuk mengedit pengguna, dan halaman
save.php, tempat formulir akan dikirim
untuk disimpan selanjutnya.
Halaman Pengeditan
Pertama, pada halaman edit.php mari buat
formulir:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Kita akan memuat data saat ini
pengguna dari basis data ke dalam formulir ini. Misalkan id pengguna
yang akan diedit diteruskan dalam parameter GET:
<?php
$id = $_GET['id'];
?>
Mari buat kueri untuk mengambil pengguna:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Jalankan kueri:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Dapatkan data pengguna ke dalam variabel:
<?php
$user = mysqli_fetch_assoc($result);
?>
Tampilkan data ini dalam formulir kita:
<form method="POST">
<input name="name" value="<?= $user['name'] ?>">
<input name="age" value="<?= $user['age'] ?>">
<input name="salary" value="<?= $user['salary'] ?>">
<input type="submit">
</form>
Ubah action formulir agar
terkirim ke halaman save.php:
<form action="save.php" method="POST">
Sementara itu, kita akan meneruskan
id pengguna yang akan diedit sebagai parameter GET:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Halaman Penyimpanan
Pada halaman save.php, terima data yang dikirim:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Buat kueri untuk pembaruan:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Jalankan kueri:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Tampilkan pesan keberhasilan operasi:
<?php
echo 'pengguna berhasil diubah!';
?>
Tugas Praktis
Implementasikan halaman edit.php untuk mengedit
pengguna.
Implementasikan halaman save.php untuk menyimpan
hasil pengeditan.
Pada halaman index.php, tampilkan
daftar pengguna sedemikian rupa sehingga untuk setiap
pengguna ada tautan untuk mengeditnya:
<ul>
<li>user1 <a href="?edit=1">edit</a></li>
<li>user2 <a href="?edit=2">edit</a></li>
<li>user3 <a href="?edit=3">edit</a></li>
</ul>
Implementasikan pemrosesan formulir pada halaman edit.php.