Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] usuwanie rekordów z bazy mysql
Forum PHP.pl > Forum > Przedszkole
uraharu
Witam
Mam taki fragment kodu na wyswietlanie danych

  1. <?php
  2. while(($row=mysql_fetch_array($result))!=NULL){
  3. echo '<tr><td class="dodane">'
  4. .$id=$row['id'].
  5. '</td></tr>
  6. <td>'
  7. .$row['opis'].
  8. '</td></tr></tr>';
  9. }
  10. echo '</table>';
  11. ?>


wszystko ładnie, lecz chciiałbym dopisać jeszcze usuwanie do tego kodu, tak aby przy kazdym rekordzie byla opcja usuń i usuwała dany rekord
z gory dziekuje za jakies wskazowki

probowalem zrobic button i akcje mysql_query($zapytanie); ale wywalalo mi blad ;/
Fifi209
Robisz odnośnik do kolejnego skryptu php, przez get'a podajesz np. id rekordu który chcesz usunąć.

Opisz bardziej swój problem.
wookieb
Cytat
probowalem zrobic button i akcje mysql_query($zapytanie); ale wywalalo mi blad ;/

1) Fajnie, że wiemy jaki button (a może baton?)
2) fajnie, że wiemy jakie zapytanie
3) fajnie, że wiemy jaki bląd
4) fajnie, że kompletnie nie myślisz jak piszesz post
5) fajnie by było jakbyś się poprawił.

6) fajnie by było jakby wookieb trochę wyluzował biggrin.gif //ayeo
chyba nie skumałem żartu, wookieb


~uraharu, jest nowy na forum. To jego pierwsze pytanie. Można delikatniej przekazać to co napisałeś (faktem jest, że rację masz). Nie jest naszym celem zniechęcanie nowych programistów do PHP jak i do naszego forum. Stali bywalcy wiedzą (to do ~wookieb), że jesteś bardzo wartościowym i pomocnym użytkownikiem. Wiedzą też, że masz dość cięty język i ostre poczucie humoru. Niestety nowych możesz szybko zrazić... Proszę więc starać się dostosowywać wypowiedzi do odbiorcy. Jeśli nie masz nastroju aby pomóc po prostu wstrzymaj się od odpowiedzi. Pozdrawiam!
//ayeo
sadistic_son
  1. <?php
  2. while(($row=mysql_fetch_array($result))!=NULL){
  3. echo '<tr><td class="dodane">'
  4. .$id=$row['id'].
  5. '</td></tr>
  6. <td>'
  7. .$row['opis'].
  8. '</td></tr></tr>
  9. <tr><td>
  10. <a href="strona.php?usun="'.$row['id'].'">Usun</a>
  11. </td></tr>
  12. ';
  13. }
  14. echo '</table>';
  15.  
  16. //i w strona.php czyli tam dokad przekirowuje link 'usun'
  17. $id=$_GET['id'];
  18. $query="DELETE FROM tabela WHERE id = '$id'";
  19. mysql_query($query);
  20. ?>
Fifi209
Cytat(sadistic_son @ 19.07.2009, 16:59:55 ) *
  1. <?php
  2. while(($row=mysql_fetch_array($result))!=NULL){
  3. echo '<tr><td class="dodane">'
  4. .$id=$row['id'].
  5. '</td></tr>
  6. <td>'
  7. .$row['opis'].
  8. '</td></tr></tr>
  9. <tr><td>
  10. <a href="strona.php?usun="'.$row['id'].'">Usun</a>
  11. </td></tr>
  12. ';
  13. }
  14. echo '</table>';
  15.  
  16. //i w strona.php czyli tam dokad przekirowuje link 'usun'
  17. $id=$_GET['id'];
  18. $query="DELETE FROM tabela WHERE id = '$id'";
  19. mysql_query($query);
  20. ?>


Jeżeli pocieszy to autora tematu, Twój kod też nie będzie działał. A czemu? Popatrz na niego ze 3 razy.
sadistic_son
No to może byś wskazał błąd?
Fifi209
Ciężko samemu znaleźć w kilku linijkach kodu?

Kod
<a href="strona.php?usun="'.$row['id'].'">Usun</a>

$id=$_GET['id'];


Chyba rozumiesz już.
sadistic_son
Oj taki tam błędzik:P
Teraz jest ok:
  1. <?php
  2. while(($row=mysql_fetch_array($result))!=NULL){
  3. echo '<tr><td class="dodane">'
  4. .$id=$row['id'].
  5. '</td></tr>
  6. <td>'
  7. .$row['opis'].
  8. '</td></tr></tr>
  9. <tr><td>
  10. <a href="strona.php?usun="'.$row['id'].'">Usun</a>
  11. </td></tr>
  12. ';
  13. }
  14. echo '</table>';
  15.  
  16. //i w strona.php czyli tam dokad przekirowuje link 'usun'
  17. $id=$_GET['usun'];
  18. $query="DELETE FROM tabela WHERE id = '$id'";
  19. mysql_query($query);
  20. ?>
wookieb
i oczywiscie nie sprawdzasz czy taka zmienna $_GET['usun'] istnieje tylko walisz zapytanie.
Po drugie wstaw kod usuwajacy przed petla while

Sprawdzenie istnienia zmienne http://php.net/isset
sadistic_son
Cytat(wookieb @ 19.07.2009, 18:23:27 ) *
i oczywiscie nie sprawdzasz czy taka zmienna $_GET['usun'] istnieje tylko walisz zapytanie.
Po drugie wstaw kod usuwajacy przed petla while

Sprawdzenie istnienia zmienne http://php.net/isset


Przeciez ja tu gotowca nie pisze. Oczywiscie ze i trzeba to sprawdzic, i sprawdzic czy poloczenie z baza jest ok, i czy zapytanie jest poprawne i cala mozliwa obsluge bledow a na koncu dodac mysql_close(); i wiele innych. To byla tylko podpowiedz jak to zrobic!
Fifi209
Cytat(sadistic_son @ 19.07.2009, 17:28:08 ) *
Przeciez ja tu gotowca nie pisze. Oczywiscie ze i trzeba to sprawdzic, i sprawdzic czy poloczenie z baza jest ok, i czy zapytanie jest poprawne i cala mozliwa obsluge bledow a na koncu dodac mysql_close(); i wiele innych. To byla tylko podpowiedz jak to zrobic!


Ja bym jeszcze rzutował na typ int, ze względu na błędy sqli. ;p
uraharu
dziękuję za pomoc smile.gif

nastepnym razem postaram sie lepiej sformułować swojego posta.

PS.

odnośnie wyświetlania
Dodaje wpis do bazy danych który ma kilka wierszy, natomiast po wyświetleniu ich na stronie usuwane są przejścia do nowej lini, jak to naprawic?
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.