Всего в базе Mn записей, определено выводить по Kn = 20 записей, определяемых номером страницы Pg (постраничная навигация). Для этого служит LIMIT
SELECT .... FROM table ORDER BY field LIMIT Kn * Pg, Kn
Клиент запрашивает первый раз сервер, при этом номер страницы не определен и равен 0, значит получаем с первые 20 записей: 0 - 20, а номер следующей страницы 1 возвращаем клиенту, который он уже должен передать следующим запросом, будут запрошены следующие 20 записе1 начиная с 20 (1 * 20, 20), и возвращаем клиенту номер следующей страницы - 2, и т.д. Перед запросами нужно знать общее количество записей (или записей по условию), и если достигнут конец записей, не превышать лимита, устанавливая последний номер страницы.
|