Ierakstu rediģēšana PHP datu bāzē

Tagad īstenosim lietotāja rediģēšanu. Šim nolūkam mums būs nepieciešamas divas lapas: lapa edit.php, kurā atradīsies forma lietotāja rediģēšanai, un lapa save.php, uz kuru forma tiks iesūtīta turpmākai saglabāšanai.

Rediģēšanas lapa

Sākumā lapā edit.php izveidosim formu:

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

Šajā formā mēs ielādēsim pašreizējos datus no lietotāja datu bāzē. Ļaujiet id lietotājam rediģēšanai tiek pārsūtīts GET parametrā:

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

Veidosim vaicājumu lietotāja iegūšanai:

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

Izpildīsim vaicājumu:

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

Iegūsim lietotāja datus mainīgajā:

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

Parādīsim šos datus mūsu formā:

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>

Mainīsim action formu tā, lai tā tiktu nosūtīta uz lapu save.php:

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

Šajā gadījumā GET parametru nosūtīsim id lietotājam rediģēšanai:

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

Saglabāšanas lapa

Lapā save.php iegūsim nosūtītos datus:

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

Veidosim vaicājumu atjaunināšanai:

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

Izpildīsim vaicājumu:

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

Parādīsim ziņojumu par operācijas veiksmi:

html<?php
  echo 'lietotājs veiksmīgi izmainīts!';
?>

Praktiskie uzdevumi

Задание 1

Realizējiet lapu edit.php lietotāja rediģēšanai.

Задание 2

Realizējiet lapu save.php rediģēšanas rezultāta saglabāšanai.

Задание 3

Lapā index.php izvadiet uz ekrāna lietotāju sarakstu tā, lai katram lietotājam būtu saite viņa rediģēšanai:

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

Realizējiet formas apstrādi lapā edit.php.