Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] mysql_num_rows || count(*) a LIMIT
Regyam
post 28.12.2007, 22:45:51
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Mam pytanie czy da się zrobić takie zapytanie z którego można by zwrócić liczbę wszystkich rekordów a pokazać kilka ostatnich?
Bo jeśli zrobie tak:
  1. SELECT * FROM tablica ORDER BY id DESC LIMIT 0, 10

to rekordów możemy mieć nie wiadomo ile np 1500 a przy mysql_num_rows() zwróci nam jedynie 10.
To samo przy count dla zapytania:
  1. SELECT count(*) AS ile FROM tablica ORDER BY id DESC LIMIT 0, 10

przy użyciu:
  1. <?php
  2. $row['ile']
  3. ?>

będzie również równe 10.
Więc czy da się na jednym zapytaniu wyrzucić liczbę wszystkich rekordów i do tego zlimitować i wyświetlić?
Go to the top of the page
+Quote Post
nevt
post 29.12.2007, 10:05:56
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


da się:
  1. (SELECT * FROM tablica ORDER BY id DESC LIMIT 10 )
  2. UNION (SELECT COUNT(*), NULL, NULL FROM tablica);

tych NULL musisz wpisać tyle razy ile masz pól w tablica minus jeden - takz żeby zgadzała się liczba pól zwracana przez oba podzapytania... liczbę wszystkich wierszy będziesz miał w pierwszej kolumnie ostatniego wiersza wyniku...


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 18.07.2025 - 02:41