Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Usuwanie rekordów z bazy MySQL za pomocą PHP
Forum PHP.pl > Forum > Przedszkole
mattajah
Witam,
jestem początkujący w PHP, tworzę bazę danych którą można obsługiwać w przeglądarce za pomocą PHP. Jest to prosta baza, która ma spełniać podstawowe rzeczy tj.: dodawanie rekordu, wyszukiwanie, usuwanie i edytowanie. I właśnie w momencie kiedy zabrałem się za pisanie skryptu do usuwania nastąpił problem. Otóż nie wiem jak przekazać do pliku usun.php, odpowiedzialnego za usunięcie rekordu, informacji, który rekord ma być usunięty. W bazie są rekordy, które posiadają unikatowe ID, i właśnie za jego pomocą chciałem "informować" skrypt który rekord usunąć. Niestety nie bardzo wiem jak to zrobić. Oto kod, który wyświetla pobrane z bazy dane, na końcu każdego wiersza jest opcja "usuń" i "edytuj". Chciałbym aby po kliknięciu w "usuń" w np wierszu o ID = 2 usuwał się rekord numer 2, etc.
  1. <?php
  2. //połączenie z bazą
  3. @ $polaczenie = new mysqli("localhost", "user1", "user1", "hurtownia");
  4.  
  5. if (mysqli_connect_errno()){
  6. echo "Błąd: Połączenie z bazą danych nie powiodło się, spróbuj ponownie później.";
  7. }
  8.  
  9. //wyświetlenie zawartości bazy w postaci tabeli
  10. $produkty = $polaczenie->query("SELECT * FROM produkty");
  11. echo "<h1>Lista produktów: </h1><br>";
  12. $i = 0;
  13. echo "<form name='produkty' action='dodaj.php' method='POST'>
  14. <table border='1'>
  15. <tr>
  16. <td id='id_1'>ID</td>
  17. <td>Nazwa</td>
  18. <td>Producent</td>
  19. <td>Kategoria</td>
  20. <td>Cena</td>
  21. <td><b>Usuń</b></td>
  22. <td><b>Edytuj</b></td>
  23. </tr>";
  24. while($i<$produkty->num_rows){
  25. echo "<tr>";
  26. $j = 0;
  27. while($j<5){
  28. $produkty->data_seek($i);
  29. $wartosci = $produkty->fetch_array();
  30. echo "<td><input type='text' value='" . $wartosci[$j] . "'></td>";
  31. $j++;
  32. }
  33. echo "</form>";
  34. echo "<form action='usun.php' method='POST'>";
  35. echo "<td><input type='image' src='del.jpg' alt='Usuń rekord'></td>";
  36. echo "</form>";
  37. echo "<form action='edit.php' method='POST'>";
  38. echo "<td><input type='image' src='edit.jpg' alt='Edytuj rekord'></td></tr>";
  39. $i++;
  40. }
  41. echo "</table>";
  42. echo "</form>";
  43. ?>

Czy w formularzu odsyłającym do usun.php powinno być w name przekazanie nazwy zmiennej odpowiedzialnej za ID? Czy może zrobić w pętli formularz hidden, który w name będzie przybierał wartość zmiennej i za jego pomocą łączyć się z usun.php? Mam nadzieję, że nie zagmatwałem za bardzo tego pytania. Z góry dziękuję, za wszelkie sugestie
Kshyhoo
Dla początkujących jest dział Przedszkole. Tam przenoszę Twój wątek.
Turson
Jak masz komórkę usuń to zrób tam link gdzie prześlesz dodatkowo id tego rekordu. Inna opcja to formularz + ukryty input
Kshyhoo
Przekaż parametr w linku: id=2 ale jako zmienną a potem odbierz i przekaż do zapytania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.