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 էջում: