Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]przycisk usuń
Forum PHP.pl > Forum > Przedszkole
SUICIDE
plik który odpowiada za wyświetlanie oraz usuwanie komentarzy.
Wkleiłem fragmenty pliku odpowiadające za wyświetlanie oraz za funkcję usuń.
Szukałem gdzie indziej ale niestety rozwiązania mi nie pomogły. Więc zapytam może ktoś coś podpowie

  1. while($n = mysql_fetch_assoc($newsQuery)){
  2. echo "<TR class='tabela'>";
  3. echo '<TD class="tabela"><center>'.$n['id_kom'].'</center></TD>';
  4. echo '<TD class="tabela"><center>'.$n['id_art'].'</center></TD>';
  5. echo '<TD class="tabela"><center>'.$n['autor'].'</center></TD>';
  6. echo '<TD class="tabela"><center>'.$n['rodzaj'].'</center></TD>';
  7. echo '<TD class="tabela">'.$n['tresc'].'</TD>';
  8. echo '<TD class="tabela"><center>'.$n['data'].'</center></TD>';
  9. echo '<TD class="tabela"><center>'.$n['godz'].'</center></TD>';
  10. $id_kom = $_GET['id_kom'];
  11. echo '<TD> <a href="komentarze.php?a=del&id_kom='.$id_kom.'"><font color=red>usuń</font>';
  12.  
  13. else if($_GET['a']=='del'){
  14. $id_kom = $_GET['id_kom'];
  15. $admin = $user_data['user_name'];
  16. echo mysql_query("DELETE FROM komentarz WHERE id_kom='$id_kom'")or die ("Bład zapytania DELETE");
  17.  
  18.  
  19. }


Tabele bazy danych

id_kom, id_art,autor,tresc

Nie wiem w czym tkwi problem. Po prostu nie kasuje rekordów
sajegib
A jak wyglada twój URL jak klikniesz w hrefa? Id zgadza się z tym które kliknąłeś do usunięcia?

  1. $id_kom = $_GET['id_kom'];



na moje oko powinienes to zamienić na:

  1. $id_kom = $n['id_kom'];


swoją drogą
Cytat
<center>
w kodzie zabija
nikestylex7
Przed linkiem do zmiennej $id_kom daj $n['id_kom'] bez get i powinno działać
SUICIDE
Tak też próbowałem jak napisałeś

$id_kom = $n['id_kom'];

niestety to nic nie daje.

Odziwo po kliknięciu przycisku "usuń" tak wygląda cały link "komentarze.php?a=del&id_kom=73"

id komentarza się zgadza.
Po kliknięciu przycisku strona błyskawicznie raz błyska na biało i to wszystko.
Rekord dalej siedzi w bazie

  1. while($n = mysql_fetch_assoc($newsQuery)){
  2. echo "<TR class='tabela'>";
  3. echo '<TD class="tabela"><center>'.$n['id_kom'].'</center></TD>';
  4. echo '<TD class="tabela"><center>'.$n['id_art'].'</center></TD>';
  5. echo '<TD class="tabela"><center>'.$n['autor'].'</center></TD>';
  6. echo '<TD class="tabela"><center>'.$n['rodzaj'].'</center></TD>';
  7. echo '<TD class="tabela">'.$n['tresc'].'</TD>';
  8. echo '<TD class="tabela"><center>'.$n['data'].'</center></TD>';
  9. echo '<TD class="tabela"><center>'.$n['godz'].'</center></TD>';
  10. $id_kom = $n['id_kom'];
  11. echo '<TD> <a href="komentarze.php?a=del&id_kom='.$id_kom.'"><font color=red>usuń</font></a></TD></TR>';
  12.  
  13. else if($_GET['a']=='del'){
  14. $id_kom = $n['id_kom'];
  15. $admin = $user_data['user_name'];
  16. echo mysql_query("DELETE FROM komentarz WHERE id_kom='$id_kom'")or die ("Bład zapytania DELETE");
  17.  
  18.  
  19. }
sajegib
sprawdzic zapytanie np. w phpmyadminie, podmienic zmienna w zapytaniu na ID, przy delete nawet jak nic nie usuniesz to mysql_query nie zwróci FALSE więć OR DIE nie zadziała
SUICIDE
  1. DELETE FROM komentarz WHERE id_kom='75'


użyłem dla przykładu i skasowało


spróbuje jeszcze do linku kasującego dodać na sztywno id jakiegoś komentarza i sprawdzę czy skasuje.

<a href="komentarze.php?a=del&id_kom=74"><font color=red>usuń</font></a>

No niestety nawet to nic nie pomogło.

Nie wiem może źle link jest napisany.
sajegib
  1.  
  2. else if($_GET['a']=='del'){
  3. $id_kom = $_GET['id_kom'];
  4. $admin = $user_data['user_name'];
  5. echo mysql_query("DELETE FROM komentarz WHERE id_kom='$id_kom'")or die ("Bład zapytania DELETE");
  6.  
  7.  
  8. }
  9.  
nikestylex7
W else zmien id kom z n id kom na get id kom odbierzesz ta wartość i wtedy znaczymy
SUICIDE
  1. echo '<TD> <a href=komentarze.php?a=del&id_kom='.$n['id_kom'].'><font color=red>usuń</font></a></TD></TR>';
  2.  
  3.  
  4. else if($_GET['a']=='del'){
  5. $id_kom = $_GET['id_kom'];
  6. echo mysql_query("DELETE FROM komentarz WHERE id_kom='$id_kom'")or die ("Bład zapytania DELETE");
  7. }
  8.  


tak wygląda adres w przeglądarce po kliknięciu usuń
komentarze.php?a=del&id_kom=73
sajegib
@nikestylex7 trochę to podejrzane, że dodajesz te odpowiedzi które ja po mnie, walczysz o 'pomógł' biggrin.gif?

@SUICIDE - zrób echo $id_kom przed query i sprawdz co tam masz
nikestylex7
He he pisze z telefonu i mnie wyprzedzasz z odpowiedziami biggrin.gif
SUICIDE
ok poradziłem sobie


wystarczyło z

else if($_GET['a']=='del'){

zmienić na if($_GET['a']=='del'){
nikestylex7
jakbyś pokazał cały kod to byśmy wiedzieli że ten else do niczego nie jest smile.gif
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.