Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Błąd usuwania rekordów za pomocą formularza
DrN
post 11.12.2016, 15:07:46
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.12.2016

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post 11.12.2016, 15:58:26
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 24.07.2025 - 21:46