Уређивање записа у бази података у 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.