Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP/MySQL - Usuwanie konkretnego wiersza z tabeli
Matol66
post 16.11.2012, 12:46:52
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.11.2012

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


Mam plik view.php w którym znajduje się poniższy kod, chodzi o to że:

Listuje wszystkie elementy z bazy danych wg. poniższego szablonu, i nie wiem jak usunąć wybrane dane z tabeli. oczywiście zmienna $row['tytul'] w zapytaniu o kasowanie nie może być, bo jest ona pusta po opuszczeniu pętli (chociaż nie wiem dlaczego nie trzyma ostatniej wartości). Próbowałem parserem strony tak aby wyciąć wszystkie znaki pomiędzy <h1 class="tytul"></h1> jednak nie udało mi się tego wdrożyć i mam obawę usunie wszystko, lub tylko pierwszy element. Kolejnym krokiem jaki zastosowałem było przechowywanie tytułów w tablicy, udało się je wylistować z tablicy jednak nie wiem jak odnieść się do tablicy tak aby konkretny element został usunięty. co_jest.gif

  1. $query = "SELECT * FROM tabela1 WHERE creator='".$_SESSION["nick"]."'";
  2. $result = mysql_query($query)
  3. or die("Query failed");
  4.  
  5. while ($row = mysql_fetch_array($result)) {
  6. echo '<form enctype="multipart/form-data" action="myaccount.php?account=view" method="POST">
  7. <h1 class"tytul">' . $row['tytul'] .'</h1>'.
  8. '<img src="../'.$row['obrazek'].'" class="image100">'.
  9. '<p>' . $row['opis'] .'</p>'.
  10. 'Pulap max: '.$row['cena_max'].'<br/>
  11. Ilosc: '.$row['ilosc'].'<br/>
  12. <input type="submit" name="delete" value="Usuń"><hr></form>'
  13. ;
  14. }
  15.  
  16. if($_POST['delete']){
  17. mysql_query("delete from tabela1 WHERE tytul = '"$row['tytul']."'") or die("Nie udało się usunąć");
  18. }


Bardzo proszę o pomoc 2 dzień się z tym męcze.
Go to the top of the page
+Quote Post
Kshyhoo
post 16.11.2012, 13:01:59
Post #2





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




Pobierz ID rekordu i usuń... Tytuły mogą być takie same w wielu rekordach.


--------------------
Go to the top of the page
+Quote Post
Matol66
post 16.11.2012, 13:23:16
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.11.2012

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


Nie wiem jak się odnieść do konkretnego ID rekordu, również chciałem zrobić coś w tym stylu jednak nie wiem jak to zrobić? nie wiem jak powinno wyglądać zapytanie do bazy o usunięcie.
Bo mam w tabeli pole ID z funkcja auto increment, jednak jak mi tu będzie wypisywać również ID to ono się będzie zmieniać.

Ten post edytował Matol66 16.11.2012, 13:25:57
Go to the top of the page
+Quote Post
Kshyhoo
post 16.11.2012, 13:34:51
Post #4





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




Sam musisz wiedzieć, co masz w bazie (moja wróżka niestety ma wolne). Generalnie musi być tak:
1. Pobierasz ID wpisu z bazy.
2. Umieszczasz ID wpisu w linku "USUŃ WPIS".
3. Zapytanie wtedy będzie takie:
  1. DELETE FROM tabela WHERE id='$id'";

Kombinuj...


--------------------
Go to the top of the page
+Quote Post
Matol66
post 16.11.2012, 13:54:55
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.11.2012

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


Ok. faktycznie pominąłem zawartość tablicy.

Kolumny:numer[autoincrement], tytul, opis, obrazek, cena_max, ilosc, Kategoria, creator

Mam kilka wierszy uzupełnionych o pełne dane dzięki czemu mogę wyświetlić listę metoda z pierwszego posta.

mogę pobrać numer i np przypisac go przyciskowi jako wartosc name.
Wtedy będzie
  1. '<input type="submit" name="'.row['numer].'" value="Usuń">'

zapytanie napisalem takie:
  1. DELETE FROM tablica1 WHERE numer = '.$_POST.'

oraz takie:
  1. DELETE FROM tablica1 WHERE numer = '.$_POST['name'].'


Jenak nie działa, bo rozumiem, że o coś takiego chodziło?

EDIT:
Ok działa:) Zrobiłem tak: Dodałem do pętli:

  1. <a href="usun.php?usun='.$row['numer'].'">Usun</a>


utworzyłem strone usun.php z kodem:
  1. $usun = $_GET['usun'];
  2. mysql_query("delete from tabela1 WHERE numer = '".$usun."'") or die("Nie udało się usunąć");


Dziękuję za pomoc Kshyhoo smile.gif

Ten post edytował Matol66 16.11.2012, 14:40:43
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: 23.05.2025 - 05:42