MySQL LIMIT przyjmuje 2 wartości, przesunięcie i licznik wierszy. Manipulowanie nimi to sposób, w jaki możesz oczywiście robić stronicowanie.
np. Jeśli powiedzmy, że każda strona miała 10 rekordów.Page1 =LIMIT 0, 10
Strona2 =LIMIT 10, 10
Strona 3 =LIMIT 20, 10
itp.
IOW:LIMIT (pageNo - 1) * PageSize, PageSize
Teraz jeden problem z używaniem limitu polega na tym, że liczba rekordów dotyczy zestawu wyników, IOW:ograniczone 10 rekordów.
Ale to, co możesz zrobić, to poprosić MySQL o zapisanie, jaki byłby licznik rekordów, gdyby nie zastosowano LIMIT. Możesz to pobrać, poprzedzając kod SQL przedrostkiem SQL_CALC_FOUND_ROWS.
np. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10
Następnie możesz wykonać inne zapytanie, które pobierze tę wartość.
SELECT FOUND_ROWS();