Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak sprawdzić czy istnieją jakiekolwiek rekordy w tabeli?, Nie wiem jak, pomożecie ?
kilab
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 19
Dołączył: 4.11.2007

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


Witam, dzisiaj natknąłem się na mały problem. Chodzi o to, że chcę sprawdzić czy istnieją jakieś rekordy dla tabeli x, jesli tak to wyświetla je kolejno ( to mam), ale jak nie ma to wyświetla informacje o tym. I w tym jest właśnie problem, jak sprawdzić czy są jakieś rekordy w bazie ? Czekam na wasze podpowiedzi winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mysql_fetch_* zwraca false, gdy nie ma rekordów. Najprościej wstaw sobie przed pętlą listującą jedno fetch i jeśli nie jest false, cofnij się w wyniku o jeden (mysql_data_seek" title="Zobacz w manualu PHP" target="_manual) i rób normalną pętlą.

Tylko ręce precz od mysql_num_rows" title="Zobacz w manualu PHP" target="_manual, chociaż Ty nie maltretuj serwera.

Ten post edytował erix 31.12.2008, 15:17:16


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Prosze
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM test")
  3. if(mysql_num_rows($wynik) > 0) {
  4. while($row = mysql_fetch_assoc($wynik)) {
  5. echo "".$row['imie']."";
  6. echo "".$row['email']."";
  7. }
  8. } else { echo 'brak rekordow';}
  9. ?>
Go to the top of the page
+Quote Post
Albitos
post
Post #4





Grupa: Zarejestrowani
Postów: 37
Pomógł: 4
Dołączył: 6.08.2006
Skąd: Lublin

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


Łomatko dżizas.... mysql_num_rows() liczy po kolei wszystkie rekordy pobrane z bazy - pobiera je i zlicza. Samobójstwo... Drugi sposób jest co najmniej śmieszny - od robienia takich rzeczy jest specjalna funkcja w MySQL - COUNT().

  1. <?php
  2. $result = mysql_query('SELECT COUNT(*) FROM tabela');
  3. if(mysql_fetch_column($result))
  4. {
  5. //sa rekordy
  6. }
  7. else
  8. {
  9. //nie ma rekordow
  10. }
  11. ?>


Oczywiście ten sposób odnosi się tylko i wyłącznie przypadku, gdy nie potrzebujemy pobranych danych z bazy. W innym przypadku warto zapisać sobie ilość rekordów po ich wykorzystaniu.


--------------------
Albi's Jogger - z pamiętnika młodego programisty
Orodlin Team Member
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
najmniej śmieszny - od robienia takich rzeczy jest specjalna funkcja w MySQL - COUNT().

To też nie jest najefektywniejsze. winksmiley.jpg

http://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 22.08.2025 - 06:44