Рэдагаванне запісу ў БД на PHP

Давайце цяпер рэалізуем рэдагаванне юзера. Для гэтага нам спатрэбіцца дзве старонкі: старонка edit.php, на якой будзе размяшчацца форма для рэдагавання юзера, і старонка save.php, на якую форма будзе адпраўляцца для наступнага захавання.

Старонка рэдагавання

Для пачатку на старонцы edit.php зробім форму:

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

У гэтую форму мы будзем загружаць бягучыя даныя юзера з базы даных. Хай id юзера для рэдагавання перадаецца ў GET параметры:

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

Сфармуем запыт на атрыманне юзера:

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

Выканаем запыт:

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

Атрымаем даныя юзера ў зменную:

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

Вывядзем гэтыя даныя ў нашай форме:

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>

Помянём action формы так, каб яна адпраўлялася на старонку save.php:

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

Пры гэтым GET параметрам будзем перадаваць id юзера для рэдагавання:

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

Старонка захавання

На старонцы save.php атрымаем адпраўленыя даныя:

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

Сфармуем запыт на абнаўленне:

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

Выканаем запыт:

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

Вывыдзем паведамленне аб поспеху аперацыі:

html<?php
  echo 'юзер паспяхова зменены!';
?>

Практычныя задачы

Задание 1

Рэалізуйце старонку edit.php для рэдагавання юзера.

Задание 2

Рэалізуйце старонку save.php для захавання выніку рэдагавання.

Задание 3

На старонцы index.php выведзіце на экран спіс юзераў так, каб для кожнага юзера была спасылка для яго рэдагавання:

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

Рэалізуйце апрацоўку формы на старонцы edit.php.