Izmena zapisa u bazi podataka u PHP-u
Sada hajde da implementiramo izmenu korisnika.
Za ovo će nam trebati dve stranice: stranica
edit.php, na kojoj će biti forma
za izmenu korisnika, i stranica
save.php, na koju će forma biti poslata
za naknadno čuvanje.
Stranica za izmenu
Za početak na stranici edit.php napravićemo
formu:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
U ovu formu ćemo učitati trenutne podatke
korisnika iz baze podataka. Neka id korisnika
za izmenu bude prosleđen u GET
parametru:
<?php
$id = $_GET['id'];
?>
Formiraćemo upit za dobijanje korisnika:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Izvršićemo upit:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Dobijamo podatke korisnika u promenljivu:
<?php
$user = mysqli_fetch_assoc($result);
?>
Prikažimo ove podatke u našoj formi:
<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>
Promenićemo action forme tako da se
šalje na stranicu save.php:
<form action="save.php" method="POST">
Pritom ćemo GET parametrom proslediti
id korisnika za izmenu:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Stranica za čuvanje
Na stranici save.php dobijamo poslate
podatke:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Formiraćemo upit za ažuriranje:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Izvršićemo upit:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Prikažimo poruku o uspešnoj operaciji:
<?php
echo 'Korisnik je uspešno izmenjen!';
?>
Praktični zadaci
Implementirajte stranicu edit.php za izmenu
korisnika.
Implementirajte stranicu save.php za čuvanje
rezultata izmene.
Na stranici index.php prikažite na
ekranu spisak korisnika tako da za svakog
korisnika postoji link za njegovu izmenu:
<ul>
<li>user1 <a href="?edit=1">izmeni</a></li>
<li>user2 <a href="?edit=2">izmeni</a></li>
<li>user3 <a href="?edit=3">izmeni</a></li>
</ul>
Implementirajte obradu forme na stranici edit.php.