Witam,
probuje przerobic znaleziona klase na tym forum tak aby paginacja w przypadku gdy jest powyzej 10 stron lamala liczby <<pierwsze <<poprzednie 1 2 3..145 146 147 147 149...nastepne>> ostatnie>> albo <<pierwsze <<poprzednie... 14 15 16 17 18...nastepne>> ostatnie>>. Przeszukalem cale google znalazlem inna klase ktora to robi ale nie moge jej zrozumiec co tam sie sie dzieje..Nie oczekuje ze ktos da mi gotowe rozwiazanie,prosilbym zeby ktos mnie chociaz naprowadzil jak to ma wygladac bo siedze nad tym od wczoraj i ani drgnelo:)
to moj kod:
  1. function paginacja_start() {
  2.  
  3.  
  4.  
  5.  
  6. //okreslenie funkcji globalnych
  7. global $start;
  8. //jesli przekazano parametr punktu poczatkowego
  9. if(isset($_GET['s'])) {
  10.  
  11. $start=$_GET['s'];
  12.  
  13. //jesli nie wgraj ustawienia domyslne
  14. }else {
  15. $start=0;
  16. $pokaz= 10;
  17. }
  18.  
  19.  
  20. }//koniec paginacja_start
  21.  
  22. //wyswietlenie paginacji i obsluga odnosnikow
  23. function paginacja($liczba_stron,$biezaca_strona,$pokaz) {
  24.  
  25. /**********************************************************************/
  26. //ustawienia wyswietlania linkow
  27. $poprzednia_link = 1; // 1-jesli ma pokazywac, ze jest to pierwsza strona, 0-nie pokazuj
  28. $nastepna_link = 0; // 1-jesli ma pokazywac, ze jest to ostatnia strona, 0-nie pokazuj
  29.  
  30. /*********************************************************************/
  31.  
  32. //zmienna okreslajaca nazwe tabeli, ktorej dotyczy paginacja
  33. $tabela = $_SESSION['tabela'];
  34. $wedlug = $_SESSION['wedlug'];
  35.  
  36.  
  37. //zliczenie wszystkich stron
  38. $sesja = "maciek";
  39. $ask1 = mysql_query("SELECT id,user_login FROM loginy WHERE user_login='$sesja'");
  40. $tablica = mysql_fetch_assoc($ask1);
  41. $id = $tablica['id'];
  42.  
  43.  
  44.  
  45.  
  46. $query = "SELECT * FROM pierwszafaza";
  47. $result = mysql_query($query);
  48. $row = mysql_fetch_array($result);
  49. $liczba_rordow = $row[0];
  50. $liczba_rekordow = mysql_num_rows($result);
  51. echo $er;
  52.  
  53. //wyznaczenie ilosci stron
  54. if($liczba_rekordow > $pokaz) {
  55. //jesli jest wiecej niz jedna
  56. $liczba_stron = ceil ($liczba_rekordow/$pokaz);
  57. }else {
  58. $liczba_stron =1;
  59. }
  60.  
  61. //wyznaczenie punktu poczatkowego
  62. if(isset($_GET['s'])) {
  63. $start = $_GET['s'];
  64. }else {
  65. $start = 0;
  66. }
  67.  
  68.  
  69. //tworzenie lacz do pozostalych stron, jesli takie sa
  70. if($liczba_stron > 1 && $liczba_stron > 10 ) {
  71.  
  72. //okreslenie biezacej strony
  73. $biezaca_strona = ($start/$pokaz) + 1;
  74.  
  75. //jesli nie jest to pierwsza strona, tworzenie lacza do Poparzedniej
  76. if($biezaca_strona !=1) {
  77. echo '<a href="?s='.($start - $pokaz).'&ls='.$liczba_stron.'" class="paginacja_strona">&laquo; Poprzednia</a>';
  78. }else {
  79. //jezeli jest to pierwsza strona, pokaz/ukryj informacje
  80. if($poprzednia_link == 1) {
  81. echo '<span class="paginacja_stronanieaktyw"><span style="color:#cccccc;">&laquo; Poprzednia</span></span>';
  82. }else {
  83. echo '';
  84. }
  85. }
  86.  
  87.  
  88. //tworzenie lacz do pozostalych stron
  89. for($i=1; $i <= $liczba_stron; $i++) {
  90. if($i !=$biezaca_strona) {
  91. echo '<a href="?s='.(($pokaz * ($i - 1))).'&ls='.$liczba_stron.'" class="paginacja_link">'. $i . '</a>';
  92. }else{
  93. echo '<span class="paginacja_biezaca">'.$i.'</span>';
  94. }
  95. }
  96.  
  97. //jezeli nie jest to ostatnia strona, tworzenie lacza do Nastepnej
  98. if($biezaca_strona != $liczba_stron) {
  99. echo '<a href="?s='.($start + $pokaz).'&ls='.$liczba_stron.'" class="paginacja_strona">Następna &raquo;</a>';
  100. }else {
  101. //jezeli jest to ostatnia strona pokaz/ukryj informacje
  102. if($nastepna_link == 1) {
  103. echo '<span class="paginacja_strona">Następna &raquo;</span>';
  104. }else {
  105. echo '';
  106. }
  107. }
  108.  
  109. }
  110. // jeśli liczba stron wieksza niz 10!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  111. else {
  112.  
  113. }
  114.  
  115. }//koniec paginacji

z gory dzieki pozdrawiam