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