Redigering van 'n rekord in die databasis op PHP

Laat ons nou die redigering van die gebruiker implementeer. Vir dit sal ons twee bladsye nodig hê: die bladsy edit.php, waar die vorm vir die redigering van die gebruiker geplaas sal word, en die bladsy save.php, waarheen die vorm gestuur sal word vir daaropvolgende berging.

Redigeringsbladsy

Eerstens, laat ons 'n vorm op die bladsy edit.php maak:

edit.php<form action="" method="POST">
  <input name="name">
  <input name="age">
  <input name="salary">
  <input type="submit">
</form>

In hierdie vorm sal ons die huidige data van die gebruiker uit die databasis laai. Laat die id van die gebruiker vir redigering in die GET parameter oorgedra word:

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

Laat ons 'n navraag om die gebruiker te kry vorm:

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

Laat ons die navraag uitvoer:

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

Laat ons die gebruiker se data in 'n veranderlike kry:

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

Laat ons hierdie data in ons vorm uitskryf:

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>

Laat ons die action van die vorm verander sodat dit na die bladsy save.php gestuur word:

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

Terselfdertyd sal ons die id van die gebruiker vir redigering as 'n GET parameter oordra:

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

Bergingsbladsy

Op die bladsy save.php sal ons die gestuurde data kry:

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

Laat ons 'n navraag vir opdatering vorm:

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

Laat ons die navraag uitvoer:

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

Laat ons 'n boodskap oor die sukses van die operasie uitskryf:

html<?php
  echo 'gebruiker suksesvol verander!';
?>

Praktiese take

Задание 1

Implementeer die bladsy edit.php vir die redigering van die gebruiker.

Задание 2

Implementeer die bladsy save.php vir die berging van die redigeringsresultaat.

Задание 3

Op die bladsy index.php, skryf die lys van gebruikers op die skerm uit sodat daar vir elke gebruiker 'n skakel vir sy redigering is:

html<ul>
  <li>user1 <a href="?edit=1">wysig</a></li>
  <li>user2 <a href="?edit=2">wysig</a></li>
  <li>user3 <a href="?edit=3">wysig</a></li>
</ul>
Задание 4

Implementeer die verwerking van die vorm op die bladsy edit.php.