Paginacja (stronicowanie)

Kiedy mamy do wyświetlania dość dużą liczbę danych (rekordów), nie możemy „wypisać” ich jeden po drugim gdyż taka strona internetowa będzie bardzo długo się wczytywać, a co najważniejsze będzie ciężko po niej poruszać. W końcu nikomu nie jest przyjemnie przewijać w dół przez 20 minut okno przeglądarki, żeby dojść do ostatniego wpisu. Właśnie tutaj z rozwiązaniem przychodzi paginacja – czyli stronicowanie.

Funkcja, którą zaprezentowałem poniżej wyświetla odnośniki do czterech stron w tył, oraz czterech stron w przód licząc od bieżącej i dodatkowo na bokach linki do pierwszej i ostatniej strony. Dzięki czemu kod jest przystosowany nawet do obsługi kilku tysięcy rekordów.

Poniższy kod umieszczamy na samym początku skryptu:

Następnie do zmiennej $query, przypisujemy początek naszej kwerendy SQL służącej do pobierania danych które chcemy podzielić na strony (UWAGA: Nie podajmy tutaj klauzuli LIMIT). Przykład:

Ten kod, wstawiamy po zapytaniu do bazy, które pobiera rekordy do stronicowania:

Zmienna $dbc, zawiera oczywiście dane dostępu do bazy danych.

Funkcja generate_page_links odpowiedzialna za wygenerowanie linków do stronicowania:

Teraz w dowolnym miejscu możemy wyświetlić odnośniki do stron (należy tylko pamiętać, że kod musi znajdować się w takiej kolejności w dokumencie, w jakiej został przedstawiony w tym artykule):

Przeczytaj również

, , , ,