Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]przycisk usuń, Problem z usuwaniem rekordu
SUICIDE
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


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
Go to the top of the page
+Quote Post
sajegib
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


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

Ten post edytował sajegib 27.04.2013, 21:15:34
Go to the top of the page
+Quote Post
nikestylex7
post
Post #3





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


Przed linkiem do zmiennej $id_kom daj $n['id_kom'] bez get i powinno działać
Go to the top of the page
+Quote Post
SUICIDE
post
Post #4





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


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. }


Ten post edytował SUICIDE 27.04.2013, 21:23:52
Go to the top of the page
+Quote Post
sajegib
post
Post #5





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


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

Ten post edytował sajegib 27.04.2013, 21:26:59
Go to the top of the page
+Quote Post
SUICIDE
post
Post #6





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


  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.

Ten post edytował SUICIDE 27.04.2013, 21:30:49
Go to the top of the page
+Quote Post
sajegib
post
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


  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.  
Go to the top of the page
+Quote Post
nikestylex7
post
Post #8





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


W else zmien id kom z n id kom na get id kom odbierzesz ta wartość i wtedy znaczymy
Go to the top of the page
+Quote Post
SUICIDE
post
Post #9





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


  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

Ten post edytował SUICIDE 27.04.2013, 21:48:17
Go to the top of the page
+Quote Post
sajegib
post
Post #10





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


@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

Ten post edytował sajegib 27.04.2013, 21:48:11
Go to the top of the page
+Quote Post
nikestylex7
post
Post #11





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


He he pisze z telefonu i mnie wyprzedzasz z odpowiedziami biggrin.gif
Go to the top of the page
+Quote Post
SUICIDE
post
Post #12





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 31.10.2012
Skąd: Gorzów Wlkp

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


ok poradziłem sobie


wystarczyło z

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

zmienić na if($_GET['a']=='del'){

Ten post edytował SUICIDE 27.04.2013, 22:32:19
Go to the top of the page
+Quote Post
nikestylex7
post
Post #13





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


jakbyś pokazał cały kod to byśmy wiedzieli że ten else do niczego nie jest smile.gif
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 Aktualny czas: 20.08.2025 - 20:11