PHP-de maglumatlar bazasyndaky ýazgyny redaktirlemek

Indi ulanyjyny redaktirlemegi amala aşyryň. Bun üçin bize iki sahypa gerek: ulanyjy redaktirlemek üçin formany ýerleşdirjek edit.php sahypasy we forma soňrak saklamak üçin iberiljek save.php sahypasy.

Redaktirleme sahypasy

Başlangyçda edit.php sahypasynda forma düzeliň:

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

Bu forma maglumatlar bazasyndan ulanyjynyň häzirki maglumatlaryny ýüklemeli. Redaktirlemek üçin ulanyjynyň id si GET parametrinde geçirilsin:

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

Ulanyjyny almak üçin soraw düzeliň:

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

Sorawy ýerine ýetiriliň:

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

Ulanyjynyň maglumatlaryny üýtgeýjä alalyň:

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

Bu maglumatlary formamyzda görkezeliň:

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>

Formanyň action ini üýtgedip, save.php sahypasyna iberilsin:

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

Şol bir wagtyň özünde redaktirlemek üçin ulanyjynyň id si GET parametri hökmünde geçirilsin:

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

Saklamak sahypasy

save.php sahypasynda iberilen maglumatlary alalyň:

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

Ýeneleme üçin soraw düzeliň:

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

Sorawy ýerine ýetiriliň:

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

Amalyň üstünligi hakda habary görkezeliň:

html<?php
  echo 'ulanyjy üstünlikli üýtgedildi!';
?>

Amaly wezipeler

Задание 1

Ulanyjyny redaktirlemek üçin edit.php sahypasyny amala aşyryň.

Задание 2

Redaktirleme netijesini saklamak üçin save.php sahypasyny amala aşyryň.

Задание 3

index.php sahypasynda her bir ulanyjynyň redaktirlemek üçin çykgydy bolýan şekilde ulanyjylaryň sanawyny ekrana görkezeliň:

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

edit.php sahypasynda formany işlemegi amala aşyryň.