Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] mysql_num_rows || count(*) a LIMIT
Forum PHP.pl > Forum > Przedszkole
Regyam
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ć?
nevt
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...
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.