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 бетіндегі форманы өңдеуді жүзеге асырыңыз.