Рэдагаванне запісу ў БД на PHP
Давайце цяпер рэалізуем рэдагаванне юзера.
Для гэтага нам спатрэбіцца дзве старонкі: старонка
edit.php, на якой будзе размяшчацца
форма для рэдагавання юзера, і старонка
save.php, на якую форма будзе адпраўляцца
для наступнага захавання.
Старонка рэдагавання
Для пачатку на старонцы edit.php зробім
форму:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
У гэтую форму мы будзем загружаць бягучыя даныя
юзера з базы даных. Хай id юзера
для рэдагавання перадаецца ў GET
параметры:
<?php
$id = $_GET['id'];
?>
Сфармуем запыт на атрыманне юзера:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Выканаем запыт:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Атрымаем даныя юзера ў зменную:
<?php
$user = mysqli_fetch_assoc($result);
?>
Вывядзем гэтыя даныя ў нашай форме:
<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:
<form action="save.php" method="POST">
Пры гэтым GET параметрам будзем перадаваць
id юзера для рэдагавання:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Старонка захавання
На старонцы save.php атрымаем адпраўленыя
даныя:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Сфармуем запыт на абнаўленне:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Выканаем запыт:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Вывыдзем паведамленне аб поспеху аперацыі:
<?php
echo 'юзер паспяхова зменены!';
?>
Практычныя задачы
Рэалізуйце старонку edit.php для рэдагавання
юзера.
Рэалізуйце старонку save.php для захавання
выніку рэдагавання.
На старонцы index.php выведзіце на
экран спіс юзераў так, каб для кожнага
юзера была спасылка для яго рэдагавання:
<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>
Рэалізуйце апрацоўку формы на старонцы edit.php.