Urejanje zapisa v bazi podatkov na PHP

Zdaj pa implementirajmo urejanje uporabnika. Za to bomo potrebovali dve strani: stran edit.php, kjer bo nameščen obrazec za urejanje uporabnika, in stran save.php, kamor bo obrazec poslan za nadaljnje shranjevanje.

Stran za urejanje

Za začetek na strani edit.php naredimo obrazec:

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

V ta obrazec bomo naložili trenutne podatke uporabnika iz baze podatkov. Naj bo id uporabnika za urejanje posredovan v GET parametru:

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

Oblikujmo poizvedbo za pridobitev uporabnika:

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

Izvedimo poizvedbo:

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

Pridobljene podatke uporabnika shranimo v spremenljivko:

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

Te podatke prikažimo v našem obrazcu:

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>

Spremenimo action obrazca, tako da se pošlje na stran save.php:

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

Poleg tega bomo preko GET parametra posredovali id uporabnika za urejanje:

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

Stran za shranjevanje

Na strani save.php pridobimo poslane podatke:

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

Oblikujmo poizvedbo za posodobitev:

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

Izvedimo poizvedbo:

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

Prikažimo sporočilo o uspehu operacije:

html<?php
  echo 'uporabnik uspešno spremenjen!';
?>

Praktične naloge

Задание 1

Implementirajte stran edit.php za urejanje uporabnika.

Задание 2

Implementirajte stran save.php za shranjevanje rezultata urejanja.

Задание 3

Na strani index.php prikažite na zaslon seznam uporabnikov tako, da bo za vsakega uporabnika povezava za njegovo urejanje:

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

Implementirajte obdelavo obrazca na strani edit.php.