Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: stronicowanie
Forum PHP.pl > Forum > Przedszkole
hmmm
wiem, ze ten temat byl poruszany wiele razy, ale ...
napisalem sobie skrypt, w sumie dosc dlugi wyszedl na stonicowanie.
wszystko dziala bez zarzutu, no chyba, ze nie zdazylem jeszcze znalezc bledow.
jednak ... czy mozna to jakos skrocic?

dzialanie jest takie same jak tu na forum.
tylko musze troche poprawic pod wzgledem estetycznym, ale to wersja robocza na razie tongue.gif

krotkie objasnienia:
$_GET['podstrona'] to wartosc oznaczajaca obecna strone
$ksiega_ilosc_stron to zmienna przechowujaca wartosc odpowiadajaca ilosci stron

a to kod:
  1. <?php
  2.  
  3. // kod przed
  4.  
  5. // tworze funkcje wyswietlajaca linki -> funkcja link()
  6. function link($data1) {
  7. return '<a href=\"test.php?podstrona=' . $data1 . '\">' . $data1 . '</a>';
  8. }
  9.  
  10. // tworze nowe zmienne do wyswietlania linkow
  11. $ksiega_pierwsza = 1;
  12. $ksiega_ostatnia = $ksiega_ilosc_stron;
  13. $ksiega_2tyl = $_GET['podstrona'] - 2;
  14. $ksiega_1tyl = $_GET['podstrona'] - 1;
  15. $ksiega_1przod = $_GET['podstrona'] + 1;
  16. $ksiega_2przod = $_GET['podstrona'] + 2;
  17.  
  18. // wyswietlam linki
  19. // poczatek: stronicowanie
  20.  
  21. echo '[' . $ksiega_ilosc_stron . '] : ';
  22. echo '&nbsp;&nbsp;';
  23.  
  24. if ($ksiega_ilosc_stron != 1) {
  25.  
  26. if ($ksiega_pierwsza != $_GET['podstrona']) {
  27. echo link($ksiega_pierwsza);
  28. echo '&nbsp;&nbsp;';
  29. }
  30.  
  31. if (($_GET['podstrona'] - $ksiega_pierwsza) > 3) {
  32. echo '...&nbsp;&nbsp;';
  33. }
  34.  
  35. if (in_array($ksiega_2tyl, $ksiega_strony) && $ksiega_2tyl != 1) {
  36. echo link($ksiega_2tyl);
  37. echo '&nbsp;&nbsp;';
  38. }
  39.  
  40. if (in_array($ksiega_1tyl, $ksiega_strony) && $ksiega_1tyl != 1) {
  41. echo link($ksiega_1tyl);
  42. echo '&nbsp;&nbsp;';
  43. }
  44.  
  45. }
  46.  
  47. echo $_GET['podstrona'];
  48. echo '&nbsp;&nbsp;';
  49.  
  50. if ($ksiega_ilosc_stron != 1) {
  51.  
  52. if (in_array($ksiega_1przod, $ksiega_strony) && $ksiega_1przod != $ksiega_ilosc_stron) {
  53. echo link($ksiega_1przod);
  54. echo '&nbsp;&nbsp;';
  55. }
  56.  
  57. if (in_array($ksiega_2przod, $ksiega_strony) && $ksiega_2przod != $ksiega_ilosc_stron) {
  58. echo link($ksiega_2przod);
  59. echo '&nbsp;&nbsp;';
  60. }
  61.  
  62. if (($ksiega_ostatnia - $_GET['podstrona']) > 3) {
  63. echo '...&nbsp;&nbsp;';
  64. }
  65.  
  66. if ($ksiega_ostatnia != ($_GET['podstrona'])) {
  67. echo link($ksiega_ostatnia);
  68. }
  69.  
  70. }
  71.  
  72. // koniec: stronicowanie
  73.  
  74. ?>
MStaniszczak
Witam

W tej chwili nie mam czasu sprawdzić ale może zobacz to co wczoraj wkleiłem tu: http://forum.php.pl/index.php?act=ST&f=1&t=26836 na forum.

Pozdrawiam
Marcin Staniszczak
hmmm
nie znam klas, nie umiem sie tym oblusgiwac, dzieki - na razie nie skorzystam.
musze sie doedukowac tongue.gif

zdazylem zauwazyc, ze niepotrzebnie tworzylem nowe zmienne dla okreslenia 'skoku' z obecnej strony do przodu/tylu, skoro wystarczylo ujac w nawias i dopisac +iles/-iles smile.gif
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.