Давайте теперь реализуем редактирование юзера.
Для этого нам понадобится две страницы: страница
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
.