Pengeditan Entri dalam Pangkalan Data menggunakan PHP
Sekarang mari kita laksanakan pengeditan pengguna.
Untuk ini, kita memerlukan dua halaman: halaman
edit.php, yang akan mengandungi
borang untuk mengedit pengguna, dan halaman
save.php, di mana borang akan dihantar
untuk disimpan kemudian.
Halaman Pengeditan
Pertama, pada halaman edit.php, mari buat
borang:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Kita akan memuatkan data semasa
pengguna dari pangkalan data ke dalam borang ini.
Katakan id pengguna
untuk diedit disampaikan dalam parameter GET:
<?php
$id = $_GET['id'];
?>
Mari bentuk pertanyaan untuk mendapatkan pengguna:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Laksanakan pertanyaan:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Dapatkan data pengguna ke dalam pembolehubah:
<?php
$user = mysqli_fetch_assoc($result);
?>
Tunjukkan data ini dalam borang kami:
<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>
Tukar action borang supaya ia
dihantar ke halaman save.php:
<form action="save.php" method="POST">
Pada masa yang sama, kita akan menyampaikan
id pengguna untuk diedit sebagai parameter GET:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Halaman Penyimpanan
Pada halaman save.php, dapatkan data
yang dihantar:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Bentuk pertanyaan untuk kemas kini:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Laksanakan pertanyaan:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Tunjukkan mesej kejayaan operasi:
<?php
echo 'pengguna berjaya diubah!';
?>
Tugas Praktikal
Laksanakan halaman edit.php untuk mengedit
pengguna.
Laksanakan halaman save.php untuk menyimpan
hasil pengeditan.
Pada halaman index.php, paparkan
senarai pengguna supaya untuk setiap
pengguna terdapat pautan 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>
Laksanakan pemprosesan borang pada halaman edit.php.