Adatbázis rekord szerkesztése PHP-ben
Most valósítsuk meg a felhasználó szerkesztését.
Ehhez két oldalra lesz szükségünk: a
edit.php oldalra, amelyen a
felhasználó szerkesztésére szolgáló űrlap található,
és a save.php oldalra, amelyre az űrlap
elküldésre kerül a későbbi mentés érdekében.
Szerkesztő oldal
Először a edit.php oldalon készítsük el
az űrlapot:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Ebbe az űrlapba fogjuk betölteni a felhasználó aktuális adatait
az adatbázisból. Legyen a felhasználó id-ja
a szerkesztéshez GET paraméterben
átadva:
<?php
$id = $_GET['id'];
?>
Alakítsuk ki a lekérdezést a felhasználó lekéréséhez:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Végezzük el a lekérdezést:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Kapjuk meg a felhasználó adatait egy változóba:
<?php
$user = mysqli_fetch_assoc($result);
?>
Jelenítsük meg ezeket az adatokat az űrlapunkban:
<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>
Változtassuk meg az űrlap action attribútumát úgy,
hogy a save.php oldalra kerüljön
küldésre:
<form action="save.php" method="POST">
Eközben GET paraméterként adjuk át
a szerkesztendő felhasználó id-ját:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Mentés oldal
A save.php oldalon kapjuk meg az elküldött
adatokat:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Alakítsuk ki a frissítési lekérdezést:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Végezzük el a lekérdezést:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Jelenítsük meg a művelet sikerességéről szóló üzenetet:
<?php
echo 'a felhasználó sikeresen módosítva!';
?>
Gyakorlati feladatok
Valósítsa meg a edit.php oldalt a felhasználó
szerkesztéséhez.
Valósítsa meg a save.php oldalt a szerkesztés
eredményének mentéséhez.
A index.php oldalon jelenítse meg a
felhasználók listáját úgy, hogy minden
felhasználóhoz tartozzon egy szerkesztési link:
<ul>
<li>user1 <a href="?edit=1">szerkesztés</a></li>
<li>user2 <a href="?edit=2">szerkesztés</a></li>
<li>user3 <a href="?edit=3">szerkesztés</a></li>
</ul>
Valósítsa meg az űrlap feldolgozását a edit.php oldalon.