Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuniecie danych z formularza
Forum PHP.pl > Forum > Przedszkole
masta089
jak usunąć dane z bazy danych przy pomocy formularza?? mam taki kod
  1. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
  2. <tr>
  3. <td>Nazwa:</td>
  4. <td><input name="nazwa" value="<?php echo $rekord['nazwa'] ?>" size="40" /></td>
  5. </tr>
  6. <tr>
  7. <td>Gatunek:</td>
  8. <td><input name="nazwa" value="<?php echo $rekord['gatunek'] ?>" size="40" /></td>
  9. </tr>
  10. <tr>
  11. <td>Rok:</td>
  12. <td><input name="nazwa" value="<?php echo $rekord['rok'] ?>" size="40" /></td>
  13. </tr>
  14. <tr>
  15. <td>Gdzie:</td>
  16. <td><input name="nazwa" value="<?php echo $rekord['gdzie'] ?>" size="40" /></td>
  17. </tr>
  18. <tr>
  19. <td>Uwagi:</td>
  20. <td><input name="nazwa" value="<?php echo $rekord['uwagi'] ?>" size="40" /></td>
  21. </tr>
  22. <tr>
  23. <td><input type="submit" name="zmien" value="Zmien" /></td>
  24. <td><input type="reset" value="Resetuj" /> <input type="submit" name="potwierdzenie" value="Usun" /></td>
  25. </tr>
  26.  
  27. </form><br />
  28. </table>

a kod w php taki
  1. // usuwanie pojedynczego produktu z tabeli "filmy"
  2.  
  3. if(isset($_POST['potwierdzenie'])){
  4.  
  5. //daje kod
  6.  
  7. $nazwa_do_usuniecia = $_GET['nazwa'];
  8. $zapytanie ="DELETE FROM filmy WHERE nazwa='$nazwa_do_usuniecia'";
  9. $wynik = mysql_query($zapytanie) or die ('Nie usunieo produktu, blad: ' . mysql_error());
  10.  
  11. if ($wynik)
  12. echo "<p>Ilosc usunietych rekordów: " . mysql_affected_rows($polaczenie) . "</p>";
  13.  
  14.  
  15. }else{
  16.  
  17. //wyswietlasz formularz z przyciskiem "potwierdz"
  18. $tresc .= '<form action="" method="post"><input type="submit" value="Potwierdz" name="potwierdzenie" /></form>';
  19.  
  20. }
tylko nie wiem jak dać tu potwierdzenie usunięcia. i gdy naciskam usuń nie usuwa się z bazy,
korro
Przede wszystkim to nie widzę połączenia z bazą.
Gdzie ustawiasz zmienną $polaczenie ?
masta089
  1. <?php include ('naglowek.php'); ?>
  2.  
  3. <h3>Filmy:</h3>
  4.  
  5. <?php
  6.  
  7.  
  8. // formularz Edycja istniejacego produktu
  9.  
  10. IF ($_GET['akcja'] == 'edytuj') {
  11.  
  12. $zapytanie = "SELECT * FROM filmy WHERE nr=".$_GET['nr'];
  13. $produkt = mysql_query($zapytanie);
  14. $rekord = mysql_fetch_assoc($produkt);
  15. ?>
  16. <p><b>Edytuj Film: </b></p>
  17. <table>
  18. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
  19. <tr>
  20. <td>Nazwa:</td>
  21. <td><input name="nazwa" value="<?php echo $rekord['nazwa'] ?>" size="40" /></td>
  22. </tr>
  23. <tr>
  24. <td>Gatunek:</td>
  25. <td><input name="nazwa" value="<?php echo $rekord['gatunek'] ?>" size="40" /></td>
  26. </tr>
  27. <tr>
  28. <td>Rok:</td>
  29. <td><input name="nazwa" value="<?php echo $rekord['rok'] ?>" size="40" /></td>
  30. </tr>
  31. <tr>
  32. <td>Gdzie:</td>
  33. <td><input name="nazwa" value="<?php echo $rekord['gdzie'] ?>" size="40" /></td>
  34. </tr>
  35. <tr>
  36. <td>Uwagi:</td>
  37. <td><input name="nazwa" value="<?php echo $rekord['uwagi'] ?>" size="40" /></td>
  38. </tr>
  39. <tr>
  40. <td><input type="submit" name="zmien" value="Zmien" /></td>
  41. <td><input type="reset" value="Resetuj" /> <a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=usun&id=<?php echo $prod['spoz_id'];?>">usun</a></td>
  42. </tr>
  43.  
  44. </form><br />
  45. </table>
  46. <?php
  47. }
  48.  
  49. // zmiana istniejacego produktu
  50.  
  51. IF ($_POST['zmien']) {
  52.  
  53. // UWAGA: nie powinno sie bez sprawdzenia wprowadzać do bazy tego, co podal uzytkownik!
  54. $zapytanie = "UPDATE filmy SET nazwa='".$_POST['nazwa']."', gatunek='".$_POST['gatunek']."', rok='".$_POST['rok']."', gdzie='".$_POST['gdzie']."', uwagi=" . $_POST['uwagi'] . " WHERE nr=".$_POST['nr'];
  55.  
  56. $produkt = mysql_query($zapytanie);
  57.  
  58. IF ($produkt)
  59. echo "<p>Aktualizacja powiodla sie</p>";
  60. else
  61. echo "<p>Aktualizacja nie powiodla sie!</p>";
  62. }
  63.  
  64.  
  65. // dodawanie nowego produktu
  66.  
  67. IF ($_POST['dodaj']) {
  68.  
  69. $nowy_produkt = trim($_POST['nazwa']);
  70. $kalorie = trim($_POST['kcal']);
  71.  
  72. // sprawdź, czy taka nazwa produktu jest juz w bazie
  73. $zapytanie = "SELECT nazwa FROM filmy WHERE nazwa='$nowy_produkt'";
  74. $produkt = mysql_query($zapytanie);
  75.  
  76. IF (mysql_num_rows($produkt) > 0)
  77. echo "<p>Produkt o takiej nazwie juz istnieje. Podaj inna nazwe.</p>";
  78.  
  79. else {
  80. $zapytanie = "INSERT INTO filmy (nazwa, gatunek, rok, gdzie, uwagi) VALUES ('$nowy_produkt', '$gatunek', $rok, '$gdzie',
  81. '$uwagi')";
  82. $wstaw = mysql_query($zapytanie);
  83.  
  84. IF ($wstaw)
  85. echo "<p>Dodano nowy produkt do bazy</p>";
  86. else
  87. echo "<p>Dodanie nowego produktu nie powiodlo sie</p>";
  88. }
  89. }
  90.  
  91. ?>
  92.  
  93. <p><b>Dodaj Film: </b></p>
  94.  
  95. <!-- formularz Dodaj nowy produkt -->
  96. <table>
  97. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
  98. <tr>
  99. <td>Nazwa Filmu:</td>
  100. <td><input name="nazwa" size="25" /></td>
  101. </tr>
  102. <tr>
  103. <td>Gatunek:</td>
  104. <td><input name="gatunek" size="25" /></td>
  105. </tr>
  106. <tr>
  107. <td>Rok:</td>
  108. <td><input name="rok" size="25" /></td>
  109. </tr>
  110.  
  111. <tr>
  112. <td>Gdzie sie znajduje:</td>
  113. <td><input name="gdzie" size="25" /></td>
  114. </tr>
  115.  
  116. <tr>
  117. <td>Uwagi:</td>
  118. <td><input name="uwagi" size="25" /></td>
  119. </tr>
  120. <tr>
  121. <td><input type="submit" name="dodaj" value="Dodaj" /></td>
  122. <td><input name="reset" type="reset" value="Unun dane!" /></td>
  123. </tr>
  124. </form>
  125. </table>
  126.  
  127. <p />
  128.  
  129. <?php
  130. // wygeneruj tabele ze wszystkimi produktami
  131.  
  132. $zapytanie = "SELECT * FROM filmy ORDER BY nazwa";
  133. $produkty = mysql_query($zapytanie) OR die ('Blad: ' . mysql_error());
  134.  
  135. ?>
  136. <hr />
  137. <h3 id="nazwa">Lista Filmów znajdujaca sie w bazie:)</h3>
  138. <table id="lista">
  139. <tr>
  140. <th>Nr.</th>
  141. <th>Nazwa:</th>
  142. <th>Gatunek:</th>
  143. <th>Rok:</th>
  144. <th>Gdzie:</th>
  145. <th>Uwagi:</th>
  146. <th></th>
  147. </tr>
  148.  
  149. <?php
  150. while ($rekord = mysql_fetch_assoc($produkty)) {
  151. ?>
  152. <tr>
  153. <td><?php echo $rekord['nr']; ?></td>
  154. <td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&nr=<?php echo $rekord['nr'];?>">
  155. <?php echo $rekord['nazwa'];?></a></td>
  156. <td><?php echo $rekord['gatunek'];?></td>
  157. <td><?php echo $rekord['rok'];?></td>
  158. <td><?php echo $rekord['gdzie'];?></td>
  159. <td><?php echo $rekord['uwagi'];?></td>
  160. </tr>
  161. <?php
  162. }
  163. ?>
  164. <table>
  165.  
  166. </body>
  167. </html>
Blame
Wystarczy trąchę zmodyfikować pokazywanie wszystkich filmów, mianowicie: dodać link który będzie przekazywał id do usunięcia Czyli:


  1. <?php
  2.  
  3. while ($rekord = mysql_fetch_assoc($produkty)) {
  4.  
  5. ?>
  6.  
  7. <tr>
  8.  
  9. <td><?php echo $rekord['nr']; ?></td>
  10.  
  11. <td><a href="
  12. <?php
  13. echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&nr=<?php echo $rekord['nr'];?>
  14. ">Edytuj</a><a href="<?
  15. echo $_SERVER['PHP_SELF'];?>?akcja=usun&nr=<?php echo $rekord['nr'];
  16. ?>
  17. ">Usuń</a>
  18.  
  19. <?php echo $rekord['nazwa'];?></a></td>
  20.  
  21. <td><?php echo $rekord['gatunek'];?></td>
  22.  
  23. <td><?php echo $rekord['rok'];?></td>
  24.  
  25. <td><?php echo $rekord['gdzie'];?></td>
  26.  
  27. <td><?php echo $rekord['uwagi'];?></td>
  28.  
  29. </tr>
  30.  
  31. <?php
  32.  
  33. }
  34.  
  35. ?>

I skrypt do usuwania:

  1. if(isset($_GET['akcja']) && $_GET['akcja']=='usun' && isset($_GET['nr']))
  2. {
  3. $nr=$_GET['nr'];
  4.  
  5. mysql_query("DELETE FROM filmy WHERE id='$nr'");
  6. echo 'Pomyślnie usunąłem film numer '.$id.'!';
  7.  
  8. }
masta089
dzięki za pomoc. ale mi chodziło żeby po naciśnięciu "edytuj" było wyświetlone usunięcie czy da się tak zrobić??
Blame
Jasne, po prostu link, który usuwa dany film, dajesz w if'ie odpowiedzialnym za edycję. Czyli to:

  1. <a href="<?
  2.  
  3. echo $_SERVER['PHP_SELF'];?>?akcja=usun&nr=<?php echo $rekord['nr'];
  4.  
  5. ?>

dajesz sobie gdzieś tu:
  1. <p><b>Edytuj Film: </b></p>
  2. <table>
  3. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
  4. <tr>
  5. <td>Nazwa:</td>
  6. <td><input name="nazwa" value="<?php echo $rekord['nazwa'] ?>" size="40" /></td>
  7. </tr>
  8. <tr>
  9. <td>Gatunek:</td>
  10. <td><input name="nazwa" value="<?php echo $rekord['gatunek'] ?>" size="40" /></td>
  11. </tr>
  12. <tr>
  13. <td>Rok:</td>
  14. <td><input name="nazwa" value="<?php echo $rekord['rok'] ?>" size="40" /></td>
  15. </tr>
  16. <tr>
  17. <td>Gdzie:</td>
  18. <td><input name="nazwa" value="<?php echo $rekord['gdzie'] ?>" size="40" /></td>
  19. </tr>
  20. <tr>
  21. <td>Uwagi:</td>
  22. <td><input name="nazwa" value="<?php echo $rekord['uwagi'] ?>" size="40" /></td>
  23. </tr>
  24. <tr>
  25. <td><input type="submit" name="zmien" value="Zmien" /></td>
  26. <td><input type="reset" value="Resetuj" /> <a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=usun&id=<?php echo $prod['spoz_id'];?>">usun</a></td>
  27. </tr>
  28. </form><br />
  29. </table>
  30.  
  31. <?php
  32.  
  33. }


Na początku, w środku , na końcu. Gdzie wolisz.
masta089
a czy można to upchnąć
  1. <a href="<?
  2. echo $_SERVER['PHP_SELF'];?>?akcja=usun&nr=<?php echo $rekord['nr'];
  3. ?>
w


i czy można potwierdzić to usuniecie przyciskiem Tak który by wyskoczył po nacisnieciu usuń
Blame
I tutaj znowu odpowiedź jest twierdząca smile.gif Dodajesz sobie:
Link:
  1. echo '<a href="'$_SERVER['PHP_SELF']'?akcja=usun' onclick="return confirm('Czy na pewno usunąć?')">Usuń</a>';

Przycisk:
  1. echo "<input type=\"button\" value=\"Usuń\" onClick=\"if(window.confirm('Czy na pewno usunąć ?')){window.location='".$_SERVER['PHP_SELF']."?id=".$pytanie['id']."';}\">";
Ociu
Przedszkole.
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.