⊗ppPmDPDE 394 of 447 menu

Editace záznamu v databázi v PHP

Pojďme nyní implementovat editaci uživatele. K tomu budeme potřebovat dvě stránky: stránku edit.php, na které bude umístěn formulář pro editaci uživatele, a stránku save.php, na kterou bude formulář odeslán pro následné uložení.

Stránka pro editaci

Nejprve na stránce edit.php vytvoříme formulář:

<form action="" method="POST"> <input name="name"> <input name="age"> <input name="salary"> <input type="submit"> </form>

Do tohoto formuláře budeme načítat aktuální data uživatele z databáze. Nechť je id uživatele pro editaci předáno v GET parametru:

<?php $id = $_GET['id']; ?>

Vytvoříme dotaz pro získání uživatele:

<?php $query = "SELECT * FROM users WHERE id=$id"; ?>

Provedeme dotaz:

<?php $result = mysqli_query($link, $query) or die(mysqli_error($link)); ?>

Získáme data uživatele do proměnné:

<?php $user = mysqli_fetch_assoc($result); ?>

Vypíšeme tato data v našem formuláři:

<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>

Změníme action formuláře tak, aby se odesílala na stránku save.php:

<form action="save.php" method="POST">

Přičemž GET parametrem budeme předávat id uživatele pro editaci:

<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">

Stránka pro uložení

Na stránce save.php získáme odeslaná data:

<?php $id = $_GET['id']; $name = $_POST['name']; $age = $_POST['age']; $salary = $_POST['salary']; ?>

Vytvoříme dotaz pro aktualizaci:

<?php $query = "UPDATE users SET name='$name', age='$age', salary='$salary' WHERE id=$id"; ?>

Provedeme dotaz:

<?php mysqli_query($link, $query) or die(mysqli_error($link)); ?>

Vypíšeme zprávu o úspěchu operace:

<?php echo 'uživatel úspěšně změněn!'; ?>

Praktické úkoly

Implementujte stránku edit.php pro editaci uživatele.

Implementujte stránku save.php pro uložení výsledku editace.

Na stránce index.php vypište na obrazovku seznam uživatelů tak, aby pro každého uživatele byl odkaz pro jeho editaci:

<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>

Implementujte zpracování formuláře na stránce edit.php.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout