Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Paginacja
Forum PHP.pl > Forum > Przedszkole
kropamk
Witam.

  1. $per_page = 5;
  2.  
  3. if(!isset($_GET['page'])){
  4.  
  5. $page = 1;
  6.  
  7. }else {
  8. $page = $_GET['page'];
  9. }
  10.  
  11. if($page <= 1){
  12. $start = 0;
  13.  
  14. } else{
  15. $start = $page * $per_page - $per_page;
  16. }
  17.  
  18.  
  19. ...
  20.  
  21.  
  22.  
  23. // linki do podstron
  24.  
  25. $prev = $page - 1;
  26. $next = $page + 1;
  27.  
  28. echo '<div id="paging">';
  29.  
  30. //poprzednia
  31. if($prev >= 1){
  32. echo '<a href="?page='.$prev.'">Poprzednia</a> ';
  33. }
  34.  
  35. // wyswietlanie numerow podstron
  36. $number = 1;
  37. for($number; $number <= $liczba_podstron; $number += 1){
  38.  
  39. if($page == $number){
  40. echo '<b>'.$number.'</b>';
  41. }else
  42. echo ' <a href="?page='.$number.'">'.$number.'</a> ';
  43. }
  44.  
  45. // nastepna
  46. if($next <= ceil($liczba_podstron)){
  47. echo '<a href="?page='.$next.'">Następna</a> ';
  48. }
  49. echo '</div>';


Mój skrypt paginacji działa ale chciałbym go rozbudować. Na chwilę obecną pokazuje mi wszystkie strony, od pierwszej do ostaniej (np. 1,2,3,4,5,6,7,8). Chciałbym zrobić tak aby pokazywał tylko 1[aktualna],2,3...12,13,14. Jak takie coś zrobić ?

Pozdrawiam.
CuteOne
Dla przykładu 1,2(aktualna),3...10,11,12

W pętli for()
- pokaż nr strony.. page - 1 jeżeli page > 1
- pokaż nr strony.. page + 1 jeżeli page < liczby stron

jezeli liczba stron jest większa od 6/7 wstaw kropki i trzy ostatnie nr stron
wNogachSpisz
Codeigniter ma dobrze ogarniętą paginacje, http://codeigniter.com/user_guide/libraries/pagination.html
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.