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