Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie informacji o pustych wynikach
andrzejlechniak
post 30.12.2010, 23:11:45
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
IceManSpy
post 30.12.2010, 23:26:34
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


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.

Ten post edytował IceManSpy 30.12.2010, 23:27:45


--------------------
Go to the top of the page
+Quote Post
Kamil Pietrzak
post 30.12.2010, 23:27:54
Post #3





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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)) )
Go to the top of the page
+Quote Post
andrzejlechniak
post 30.12.2010, 23:36:09
Post #4





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Niestety to nie działa. Sprawdzałem, zapytanie mam ok, ale wciąz mi się pokazuje błąd...
Go to the top of the page
+Quote Post
Kamil Pietrzak
post 31.12.2010, 02:11:33
Post #5





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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?
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:26