Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PHP i paginacja

piątek,

PHP i paginacja

Paginacja, nazywana również jako stronicowanie, to proces dzielenia treści na oddzielne strony, zamiast wyświetlania ich wszystkich na jednej stronie. Jest to często stosowana technika w projektowaniu aplikacji i stron internetowych. Paginacja pomaga w organizacji dużych ilości danych, takich jak lista produktów w sklepie internetowym lub wyniki wyszukiwania, czyniąc je bardziej przystępnymi i łatwymi do przeglądania dla użytkownika. Pozytywnym efektem ubocznym tego mechanizmu jest poprawa wydajności, strona ładuje tylko niewielki fragment dostępnych danych.

Źródła danych wyświetlanych w seriach na kolejnych stronach mogą być różne, najczęściej są to bazy danych lub pliki. W zależności od źródła sposób implementacji paginacji może się różnić, szczególnie jeśli chodzi o wydajność i skalowalność. Na przykład paginacja danych z bazy danych będzie wymagała efektywnych zapytań SQL, podczas gdy paginacja danych z pliku JSON będzie skupiać się na parsowaniu i przetwarzaniu danych w aplikacji.

Sterowanie paginacją w języku PHP można zrealizować w kilku prostych krokach. Poniżej znajdziesz przykładowy skrypt, który wykorzystuje paginację do wyświetlania serii kolejnych liczb całkowitych. Skrypt będzie generował linki do kolejnych stron oraz wyświetlał liczby z aktualnie wybranej strony. Wykorzystanie bardzo prostych danych i do tego niepochodzących z zewnętrznego źródła ma na celu uproszczenie kodu, aby skupić się na elementach realizujących paginację.

Przykład prostego stronicowania

Kroki, które trzeba wykonać w celu paginacji danych

  1. Ustal liczbę elementów do wyświetlenia na jednej stronie.
  2. Pobierz numer bieżącej strony z parametru GET (jeśli nie jest ustawiony, użyj domyślnie pierwszej strony).
  3. Oblicz początkowy indeks dla bieżącej strony.
  4. Wygeneruj liczby dla bieżącej strony.
  5. Wyświetl linki do innych stron.

Implementacja

<?php
  // Ustawienia paginacji
  $liczbaNaStronie = 10; // Liczba elementów na stronie
  $biezacaStrona = isset($_GET['strona']) ? (int)$_GET['strona'] : 1; // Aktualna strona
  $poczatek = ($biezacaStrona - 1) * $liczbaNaStronie; // Początkowy indeks dla bieżącej strony

  // Wygeneruj liczby dla bieżącej strony
  for ($i = $poczatek; $i < $poczatek + $liczbaNaStronie; $i++) {
      echo $i . '<br>';
  }

  // Linki do innych stron
  for ($strona = 1; $strona <= 5; $strona++) { // przykładowo 5 stron
      echo '<a href="?strona=' . $strona . '">' . $strona . '</a> ';
  }
?>

W tym skrypcie:

  • ustawiana jest liczba elementów na stronie ($liczbaNaStronie);
  • z parametru strona w URL pobierany jest numer bieżącej strony;
  • następuje ustalenie początkowego indeksu dla bieżącej strony;
  • wyświetlane są liczby dla danej strony;
  • generowane są linki do innych stron (w tym przykładzie kolejnych 5 stron).

Przykład prezentuje bardzo prosty mechanizm, można go rozbudować o kolejne funkcje, takie jak m.in. możliwość nawigacji wstecz.

Artykuł: Życzenia świąteczne

Życzenia świąteczne

Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły