Andmebaasikirje redigeerimine PHP-s
Rakendame nüüd kasutaja redigeerimise.
Selleks vajame kahte lehekülge: lehekülge
edit.php, kus asub kasutaja redigeerimise
vorm, ja lehekülge save.php, kuhu vorm
saadetakse hilisemaks salvestamiseks.
Redigeerimisleht
Alustuseks loome lehel edit.php
vormi:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Selle vormi laadime kasutaja praegused andmed
andmebaasist. Olgu kasutaja id
redigeerimiseks antud GET
parameetris:
<?php
$id = $_GET['id'];
?>
Koostame päringu kasutaja saamiseks:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Teostame päringu:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Saame kasutaja andmed muutujasse:
<?php
$user = mysqli_fetch_assoc($result);
?>
Kuvame need andmed meie vormis:
<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>
Muudame vormi action nii, et see
saadetaks lehele save.php:
<form action="save.php" method="POST">
Samal ajal edastame GET parameetrina
redigeeritava kasutaja id:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Salvestamise leht
Lehel save.php saame saadetud
andmed:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Koostame uuendamise päringu:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Teostame päringu:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Kuvame teate operatsiooni edust:
<?php
echo 'kasutaja on edukalt muudetud!';
?>
Praktilised ülesanded
Rakendage leht edit.php kasutaja redigeerimiseks.
Rakendage leht save.php redigeerimise tulemuse salvestamiseks.
Lehel index.php kuvage
ekraanile kasutajate nimekiri nii, et iga
kasutaja juures oleks link tema redigeerimiseks:
<ul>
<li>user1 <a href="?edit=1">redigeeri</a></li>
<li>user2 <a href="?edit=2">redigeeri</a></li>
<li>user3 <a href="?edit=3">redigeeri</a></li>
</ul>
Rakendage vormi töötlemine lehel edit.php.