Уређивање записа у бази података у 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.