Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błąd usuwania rekordów za pomocą formularza
Forum PHP.pl > Forum > Przedszkole
DrN
Witam,
Jestem nowy na forum. Mam na imię Mariusz. Mam problem z usuwaniem rekordów z tabel w Mysql.
Na samym początku przeczytałem pełno tematów z usuwaniem rekordów z bazy. Mam nietypowy problem taki iz zamiast usuwać mi rekordy z tablicy, to formularz je dodaje.
Stworzyłem listę wybieralną:
  1.  
  2. <?php $link = mysql_connect("localhost", "root", "") or die('Blad: Nie mozna polaczyć z MySQL!');
  3.  
  4. mysql_select_db("jomla") or die('Blad: Nie mozna wybraz bazy danych!');
  5.  
  6. $zapytanie = mysql_query ("SELECT id_opakowania FROM opakowania where 1");
  7.  
  8. ?>
  9.  
  10.  
  11. <form action="http://localhost/joomla30/opakowanie_usun.php" method="post">
  12.  
  13. <select name="id">
  14.  
  15. <option value="0">Wybierz Pytanie</option>
  16.  
  17. <?php
  18.  
  19. while($option = mysql_fetch_assoc($zapytanie)) {
  20.  
  21. echo '<option value="'.$option['id'].'">etykieta</option>';
  22.  
  23. }
  24.  
  25. ?>
  26.  
  27. </select>
  28.  
  29. <input type="submit" value="usun" />
  30.  
  31. </form>


Formularz jest rozwijany, po wybraniu etykiety ma zostać usunięta. Przekazuje ona wartość do pliku opakowanie_usun.php:
  1. <?php
  2.  
  3. $login='root';
  4.  
  5. $haslo='';
  6.  
  7. $host='localhost';
  8.  
  9. $baza='jomla';
  10.  
  11. $conn=mysql_connect($host,$login,$haslo);
  12.  
  13. mysql_select_db($baza,$conn);
  14.  
  15. $option = (int)$_POST['id'];
  16. $zapytanie = "Delete * From opakowania where id_opakowania='$id'";
  17. $wynik = $db->query($zapytanie);
  18. if($db->affected_rows){
  19. ech 'Usunięto: ' . $db->affected_rows . 'rekordów';
  20. else {
  21. echo 'Błąd podczas usuwania';
  22. }
  23. mysql_close($conn);
  24.  
  25. ?>


Po wykonaniu zamiast usunąć cały wiersz z danym ID, to dodaje kolejny wiersz tylko pusty

Ma ktoś pomysł gdzie mam błąd?
nospor
Raz uzywasz funkcji z rodziny mysql_ a raz uzywasz jakies obiektu $db ktory nie wiadomo skad sie wytrzasnal. Sie zdecyduj, albo jedno albo drugie

Kolejna sprawa ze kod co tu podales nie dodaje zadnego rekordu, wiec blad masz gdzies indziej, gdzies tam w odmetach kodu ktorego nam nie pokazales

To tez jest fajne
$option = (int)$_POST['id'];
$zapytanie = "Delete * From opakowania where id_opakowania='$id'";

Pobierasz id do zmiennej $option ale do zapytania wkladasz zmienna $id...

Generalnie przeczytaj i zastosuj to:
Temat: Jak poprawnie zadac pytanie oraz przygotowac srodowisko pracy

Bo masz kupe bledow i nawet ich nie widzisz bo ich nie wyswietlasz ani nie logujesz
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.