Urejanje zapisa v bazi podatkov na PHP
Zdaj pa implementirajmo urejanje uporabnika.
Za to bomo potrebovali dve strani: stran
edit.php, kjer bo nameščen
obrazec za urejanje uporabnika, in stran
save.php, kamor bo obrazec poslan
za nadaljnje shranjevanje.
Stran za urejanje
Za začetek na strani edit.php naredimo
obrazec:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
V ta obrazec bomo naložili trenutne podatke
uporabnika iz baze podatkov. Naj bo id uporabnika
za urejanje posredovan v GET
parametru:
<?php
$id = $_GET['id'];
?>
Oblikujmo poizvedbo za pridobitev uporabnika:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Izvedimo poizvedbo:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Pridobljene podatke uporabnika shranimo v spremenljivko:
<?php
$user = mysqli_fetch_assoc($result);
?>
Te podatke prikažimo v našem obrazcu:
<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>
Spremenimo action obrazca, tako da se
pošlje na stran save.php:
<form action="save.php" method="POST">
Poleg tega bomo preko GET parametra posredovali
id uporabnika za urejanje:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Stran za shranjevanje
Na strani save.php pridobimo poslane
podatke:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Oblikujmo poizvedbo za posodobitev:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Izvedimo poizvedbo:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Prikažimo sporočilo o uspehu operacije:
<?php
echo 'uporabnik uspešno spremenjen!';
?>
Praktične naloge
Implementirajte stran edit.php za urejanje
uporabnika.
Implementirajte stran save.php za shranjevanje
rezultata urejanja.
Na strani index.php prikažite na
zaslon seznam uporabnikov tako, da bo za vsakega
uporabnika povezava za njegovo urejanje:
<ul>
<li>user1 <a href="?edit=1">uredi</a></li>
<li>user2 <a href="?edit=2">uredi</a></li>
<li>user3 <a href="?edit=3">uredi</a></li>
</ul>
Implementirajte obdelavo obrazca na strani edit.php.