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:

edit.php<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:

edit.php<?php
  $id = $_GET['id'];
?>

Mari bentuk pertanyaan untuk mendapatkan pengguna:

edit.php<?php
  $query = "SELECT * FROM users WHERE id=$id";
?>

Laksanakan pertanyaan:

edit.php<?php
  $result = mysqli_query($link, $query) or die(mysqli_error($link));
?>

Dapatkan data pengguna ke dalam pembolehubah:

edit.php<?php
  $user = mysqli_fetch_assoc($result);
?>

Tunjukkan data ini dalam borang kami:

edit.php<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:

html<form action="save.php" method="POST">

Pada masa yang sama, kita akan menyampaikan id pengguna untuk diedit sebagai parameter GET:

html<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">

Halaman Penyimpanan

Pada halaman save.php, dapatkan data yang dihantar:

html<?php
  $id = $_GET['id'];
  $name = $_POST['name'];
  $age = $_POST['age'];
  $salary = $_POST['salary'];
?>

Bentuk pertanyaan untuk kemas kini:

html<?php
  $query = "UPDATE users SET
    name='$name', age='$age', salary='$salary'
  WHERE id=$id";
?>

Laksanakan pertanyaan:

html<?php
  mysqli_query($link, $query) or die(mysqli_error($link));
?>

Tunjukkan mesej kejayaan operasi:

html<?php
  echo 'pengguna berjaya diubah!';
?>

Tugas Praktikal

Задание 1

Laksanakan halaman edit.php untuk mengedit pengguna.

Задание 2

Laksanakan halaman save.php untuk menyimpan hasil pengeditan.

Задание 3

Pada halaman index.php, paparkan senarai pengguna supaya untuk setiap pengguna terdapat pautan untuk mengeditnya:

html<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>
Задание 4

Laksanakan pemprosesan borang pada halaman edit.php.