⊗ppPmDPDE 394 of 447 menu

Edycja rekordu w bazie danych w PHP

Teraz zaimplementujmy edycję użytkownika. Do tego potrzebujemy dwóch stron: strony edit.php, na której znajdzie się formularz do edycji użytkownika, oraz strony save.php, na którą formularz będzie wysyłany w celu późniejszego zapisania.

Strona edycji

Na początek na stronie edit.php zróbmy formularz:

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

Do tego formularza będziemy wczytywać bieżące dane użytkownika z bazy danych. Niech id użytkownika do edycji będzie przekazywane w parametrze GET:

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

Sformułujmy zapytanie o pobranie użytkownika:

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

Wykonajmy zapytanie:

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

Pobierzmy dane użytkownika do zmiennej:

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

Wypiszmy te dane w naszym formularzu:

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

Zmieńmy action formularza tak, aby był wysyłany na stronę save.php:

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

Przy tym parametrem GET przekazujmy id użytkownika do edycji:

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

Strona zapisywania

Na stronie save.php pobierzmy wysłane dane:

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

Sformułujmy zapytanie o aktualizację:

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

Wykonajmy zapytanie:

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

Wypiszmy komunikat o sukcesie operacji:

<?php echo 'użytkownik został pomyślnie zmieniony!'; ?>

Zadania praktyczne

Zaimplementuj stronę edit.php do edycji użytkownika.

Zaimplementuj stronę save.php do zapisywania wyniku edycji.

Na stronie index.php wypisz na ekran listę użytkowników tak, aby dla każdego użytkownika był link do jego edycji:

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

Zaimplementuj przetwarzanie formularza na stronie edit.php.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć