Ocena wątku:
  • 1 głosów - średnia: 3
  • 1
  • 2
  • 3
  • 4
  • 5
Nie usuwają się wiadomości (mysql)
#1
Witam. Jestem początkującym webmasterem i uczę się na błędach. Niestety, jak to w życiu bywa, wiele błędów mnie przerasta.
Mam taki problem. Na mojej stronie nie usuwają się wiadomości. Klikam na 'usuń', po czym pojawia się normalna strona (bez komunikatu), lecz po ponownym wejściu do wiadomości, list wciąż się tam znajduje.
KOD:


Kod PHP:
else {
    echo 
'<h1>Poczta</h1>';
    
$ilew=mysql_num_rows(mysql_query("select wiad_id from wiadomosci where wiad_przeczytane=0 and wiad_do=".$_SESSION["zalogowany"]." and wiad_czyj=0"));
    echo 
"<img src='obrazki/poczta.gif' border='0' /> <a href='odbiorcza.php'>($ilew nowych wiadomości)</a> &bull; <a href='newmsg.php'>Napisz nową wiadomość</a><br><br>";

    if(
$_GET["id"]){
    
$id=intval($_GET["id"]);
    if(
mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"]))){
    
mysql_query("delete from wiadomosci where wiad_id=$id");
    echo 
"Usunięto wiadomość!<br>";
    }
    } 

Szponix

Posty: 2
Dołączył(a): niedziela, 24 kwi, 2011 19:30
Odpowiedz
#2
Poprawiłem Twój post bo kod umieszczamy w [_code] lub [_php] (bez "podłogi" _) taka mała zasada tego forum.

Teraz tak...
Kod PHP:
echo $id
Sprawdź czy wyświetla Ci numer ID tej wiadomości jeżeli tak to jedziemy dalej bo zapytanie Ci nie bangla. Teraz moje pytanie po co Ci najpierw sprawdzenie ilości zapytań jednym długim zapytaniem, a potem usunięcie? Nie można tego zrobić w jednym zapytaniu? Będzie dużo szybciej...
Kod PHP:
"DELETE FROM wiadomosci WHERE wiad_id='".$id."' AND wiad_czyj='".0."' AND wiad_od='".$_SESSION["zalogowany"]."'" 
Odpowiedz
#3
W wiadomości pojawia się:
Nadawca: 'nick'
Data
Temat
Treść

oraz 'usuń', które nie działa (nie pojawia się nawet komunikat)
Odpowiedz
#4
Daj nam tu cały ten plik (to co dałeś to urywek) oraz zrzut BD i sprawdzimy. Wink
Odpowiedz
#5
Kod PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<?
require 
"sesje.php";
require 
"naglowek.php";
if(!
$_SESSION["zalogowany"]){
$kom="";
if(
$_GET["err"]==1)$kom="Błędny login lub hasło";
logowanie_okno($kom);

}
else {
echo 
'<h1>Poczta</h1>';
$ilew=mysql_num_rows(mysql_query("select wiad_id from wiadomosci where wiad_przeczytane=0 and wiad_do=".$_SESSION["zalogowany"]." and wiad_czyj=0"));
echo 
"<img src='obrazki/poczta.gif' border='0' /> <a href='odbiorcza.php'>($ilew nowych wiadomości)</a> &bull; <a href='newmsg.php'>Napisz nową wiadomość</a><br><br>";

if(
$_GET["id"]){
$id=intval($_GET["id"]);
if(
mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$id and wiad_czyj=0 and wiad_od=".$_SESSION["zalogowany"]))){
mysql_query("delete from wiadomosci where wiad_id=$id");   
echo 
"Usunięto wiadomość!<br>";
}
}

else if(
$_GET["co"]){    
$co=intval($_GET["co"]); 
if(
mysql_num_rows(mysql_query("select wiad_od from wiadomosci where wiad_id=$co and wiad_czyj=0"))){
mysql_query("update wiadomosci set wiad_przeczytane=1 where wiad_id=$co");   
$wynik=mysql_query("select * from wiadomosci where wiad_id=$co and wiad_czyj=0");   
$rekord=mysql_fetch_array($wynik);
$nadawca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_od"]));
echo 
"<br><br><table border=1><tr><td><b>Nadawca:</b> ".$nadawca["user_login"]."</td><td><b>Data:</b> ".date("d/m/Y H:i"strtotime($rekord["wiad_data"]))."</td><td><a href='odbiorcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
echo 
"<tr><td colspan=3><b>Temat:</b> ".$rekord["wiad_temat"]."</td></tr>";
echo 
"<tr><td colspan=3>".$rekord["wiad_tresc"]."</td></tr>";
echo 
"</table>";
}
}

else{
$wynik=mysql_query("select * from wiadomosci where wiad_do=".$_SESSION["zalogowany"]." and wiad_czyj=0 order by wiad_data");

echo 
"<table><tr><td><b>Nadawca</b></td><td><b>Temat</b></td><td><b>Data</b></td><td>&nbsp;</td></tr>";
if(!
mysql_num_rows($wynik))echo "<tr><td colspan=4 style='text-align:center'>Nie masz żadnych wiadomości!</td></tr>";
else while(
$rekord=mysql_fetch_array($wynik)){
$nadawca=mysql_fetch_array(mysql_query("select user_login from users where user_id=".$rekord["wiad_od"]));
$kw1="";$kw2="";
if(!
$rekord["wiad_przeczytane"]){$kw1="<b>";$kw2=" <font color='red'>(nowa)</font></b>";}
echo 
"<tr><td>".$nadawca["user_login"]."</td><td><a href='odbiorcza.php?co=".$rekord["wiad_id"]."'>$kw1".$rekord["wiad_temat"]."$kw2</td><td>".date("d/m/Y H:i"strtotime($rekord["wiad_data"]))."</td><td><a href='odbiorcza.php?id=".$rekord["wiad_id"]."'>usuń</a></td></tr>";
}
echo 
"</table>";
}
}
require 
"stopka.php";
?>
Odpowiedz
#6
Więc jak? Pomoże ktoś?
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak sprawdzić czy adres www znajduje sie w bazie mysql? jarekcda 8 9,024 13-05-2017, 01:02
Ostatni post: miketodson255
  Optymalizacja MySQL-a tomek_00 1 3,925 01-09-2013, 13:31
Ostatni post: hieroshima
  [MySQL] Struktura bazy dla słownika msx83 2 3,921 24-08-2013, 16:26
Ostatni post: msx83
  Komunikacja PHP z MySQL na serwerze pawstrze 5 6,445 16-07-2013, 15:58
Ostatni post: Engine
  [MySQL] wyszukiwarka problem darlowiak 3 3,553 13-06-2013, 12:58
Ostatni post: darlowiak

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl