Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Usuwanie rekordów z bazy MySQL za pomocą PHP
mattajah
post 10.02.2014, 21:02:24
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.02.2014

Ostrzeżenie: (0%)
-----


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
Powód edycji: [Kshyhoo]: dodałem obowiązkowe tagi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Kshyhoo
post 10.02.2014, 21:06:10
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Dla początkujących jest dział Przedszkole. Tam przenoszę Twój wątek.


--------------------
Go to the top of the page
+Quote Post
Turson
post 10.02.2014, 21:12:27
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Jak masz komórkę usuń to zrób tam link gdzie prześlesz dodatkowo id tego rekordu. Inna opcja to formularz + ukryty input
Go to the top of the page
+Quote Post
Kshyhoo
post 10.02.2014, 21:12:45
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przekaż parametr w linku: id=2 ale jako zmienną a potem odbierz i przekaż do zapytania.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:27