Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie informacji o pustych wynikach
Forum PHP.pl > Forum > Przedszkole
andrzejlechniak
Mam taki problem. Chcę wyświetlić informację o tym, żę nie ma wiadomości z danej kategorii i zrobiłem coś takiego:

FRAGMENT:
  1. ...
  2. $sql = 'SELECT p.id pid, p.projekt pprojekt, p.wiadomosc pwiadomosc, k.id kid, k.opis kopis, k.nazwa knazwa FROM kategoria_projektow k '.
  3. 'LEFT JOIN projekty p ON p.id_kategorii = k.id WHERE k.id= '.$idCat.' ORDER BY k.nazwa ASC, p.projekt ASC';
  4.  
  5. if(!$sql)
  6. {
  7. echo 'Nic';
  8. }
  9. else
  10. {
  11. $res = mysql_query($sql) or die(mysql_error());
  12. while ($row = mysql_fetch_array($res))
  13. {
  14. extract($row);
  15. $idNews = $pid;
  16. echo '<div class="newsy">
  17. <div class="newsy_tytul2">'.$pprojekt.'</div>
  18. <div class="newsy_main">'.przytnij($pwiadomosc,255).'</div>
  19. <div class="newsy_wiecej"><a href="index.php?id=projekty&idprojektu='.$idNews.'" title="pokaż całą wiadomość">więcej</a></div>';
  20. echo '</div>';
  21. }
  22. }


ale wciąż wyświetla mi stronę, ale bez wyników, tzn. jest kategoria i ma '0' wyników i wyświetla szablon strony, a chciałbym aby wyświetlał błąd. Jak zatem poprawić mój fragment kodu?
IceManSpy
Widocznie masz błąd w zapytaniu. Zrób sobie echo $sql; i zobacz, czy chcesz mieć takie zapytanie, jakie oczekujesz. Jak tak, to sprawdź w phphMyAdmin, czy zwraca jakieś wiersze.
Kamil Pietrzak
jak masz if!$sql)
to sprawdzasz czy zmienna $sql istnieje

taka instrukcja
  1. $zdanie = 'ala ma pale';
  2. if($zdanie)
  3. {
  4. echo 1;
  5. }
  6. else
  7. {
  8. echo 2;
  9. }


zawsze wyswietli 1
bo chwile wczesniej zdanie zostalo ustawione

musisz zrobic
  1. if( ! mysql_fetch_array($res)) )
andrzejlechniak
Niestety to nie działa. Sprawdzałem, zapytanie mam ok, ale wciąz mi się pokazuje błąd...
Kamil Pietrzak
nie rozumeisz jak to dziala...


w 2 linijce wcale nie wysylasz zapytania

jak zrobisz
  1. $sql = "INSERT INTO `artykuly` SET `nazwa`='example'";

to nic sie nie stanie

ale jak zrobisz
  1. $sql = "INSERT INTO `artykuly` SET `nazwa`='example'";

to juz sie cos stanie

samo przypisanie zapytania do zmiennej nic nie robi
rozumiesz teraz?
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.