Įrašo redagavimas PHP duomenų bazėje
Dabar įgyvendinkime vartotojo redagavimą.
Tam mums reikės dviejų puslapių: puslapio
edit.php, kuriame bus talpinama
redagavimo forma, ir puslapio
save.php, į kurį forma bus siunčiama
vėlesniam išsaugojimui.
Redagavimo puslapis
Pirmiausia puslapyje edit.php sukurkime
formą:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Į šią formą įkelsime esamus vartotojo duomenis
iš duomenų bazės. Tegul id vartotojo
redagavimui perduodamas GET
parametre:
<?php
$id = $_GET['id'];
?>
Sukurkime užklausą vartotojo gavimui:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Vykdykime užklausą:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Gaukime vartotojo duomenis į kintamąjį:
<?php
$user = mysqli_fetch_assoc($result);
?>
Atvaizduokime šiuos duomenis mūsų formoje:
<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>
Pakeiskime formos action, kad ji
būtų siunčiama į puslapį save.php:
<form action="save.php" method="POST">
Kartu GET parametru perduosime
id vartotojo redagavimui:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Išsaugojimo puslapis
Puslapyje save.php gausime išsiųstus
duomenis:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Sukurkime atnaujinimo užklausą:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Vykdykime užklausą:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Atvaizduokime sėkmingos operacijos pranešimą:
<?php
echo 'vartotojas sėkmingai pakeistas!';
?>
Praktinės užduotys
Įgyvendinkite puslapį edit.php vartotojo redagavimui.
Įgyvendinkite puslapį save.php redagavimo rezultato išsaugojimui.
Puslapyje index.php atvaizduokite
ekrane vartotojų sąrašą taip, kad kiekvienam
vartotojui būtų nuoroda jo redagavimui:
<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>
Įgyvendinkite formos apdorojimą puslapyje edit.php.