# Редактирование записи в БД на 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`.

← →
↑