Witam Panowie, mam problem z paginatorem.
Chodzi o to, że chcę wyświetlić tyle stron ile jest w bazie rekordów podzielone przez 10 (10 to ilość wyników na stronie). Druga sprawa chcę by zawsze mi pokazało pierwsze 3 strony , środek się zmienia (4 stron) oraz ostatnie 3 strony. Oczywiście, żeby to wykonać musi być warunek jeżeli w bazie jest powyżej 100 rekordów (10 wyników na stronę), bo tylko wtedy będzie to miało sens - prawda?
O to mój kod:

  1. if($pages%10 != 0){
  2. $pages = ($pages / 10) +1;
  3. }else{
  4. $pages = $pages / 10;
  5. }
  6. $count_page = '10';
  7.  
  8. if(($pages - ((($pages*10)%10)/10))>1){
  9. $max = ceil($sql / $count_page);
  10.  
  11. if($max >1 && $max <=10){
  12. for($ix = 1; $ix < $max+1; $ix++){
  13. if($ix == $page){
  14. print('<span class="mark">'.$ix.'</span>');
  15. }else{
  16. print('<span>'.$ix.'</span>');
  17. }
  18. }
  19. }else{
  20. for($ix = 1; $ix < 11; $ix++){
  21. if($ix == $page){
  22. print('<span class="mark">'.$ix.'</span>');
  23. }else{
  24. print('<span>'.$ix.'</span>');
  25. }
  26. }
  27. }
  28.  
  29. if($page <= 11){
  30. for($ix = 11; $ix <= $page+1; $ix++){
  31. if($ix == $page){
  32. print('<span class="mark">'.$ix.'</span>');
  33. }else{
  34. print('<span>'.$ix.'</span>');
  35. }
  36. }
  37.  
  38. if($max > $page+2){
  39. echo('... ');
  40. print('<span>$max-4</span>');
  41. print('<span>$max-3</span>');
  42. print('<span>$max-2</span>');
  43. print('<span>$max-1</span>');
  44. print('<span>$max</span>');
  45.  
  46. }
  47. }else{
  48. echo('... ');
  49. if($page!=$max){
  50. if($page > $max-5){
  51. for($ix = ($page-1); $ix<=$max; $ix++){
  52. if($ix == $page){
  53. print('<span class="mark">'.$ix.'</span>');
  54. }else{
  55. print('<span>'.$ix.'</span>');
  56. }
  57. }
  58. }else{
  59. for($ix = ($page-1); $ix <= ($page+1); $ix++){
  60. if($ix == $page){
  61. print('<span class="mark">'.$ix.'</span>');
  62. }else{
  63. print('<span>'.$ix.'</span>');
  64. }
  65. }
  66. echo('... ');
  67. print('<span>$max-4</span>');
  68. print('<span>$max-3</span>');
  69. print('<span>$max-2</span>');
  70. print('<span>$max-1</span>');
  71. print('<span>$max</span>');
  72. }
  73. }else{
  74. echo('... ');
  75. print('<span>$max-4</span>');
  76. print('<span>$max-3</span>');
  77. print('<span>$max-2</span>');
  78. print('<span>$max-1</span>');
  79. print('<span>$max</span>');
  80. }
  81. }
  82.  
  83.  
  84. }


Proszę o sugestie czy w dobrym kierunku brnę. Ponadto nie wiem czemu nie zaznacza mi ostatniej strony na której przełącza się.

.