Witam,

poniższy system stronnicowania działa o ile zrobię wyświetlanie wyników załóżmy po 6 sztuk. Problem pojawia się w momencie kiedy wyników zapytania jest powiedzmy 22 sztuki a podział ustalony jest na jedną stronę 20 sztuk. Widzicie gdzie tu jest błąd questionmark.gif

  1. <?php
  2.  
  3. $_ARTICLES['order'] = DESC;
  4. $_ARTICLES['optional_links'] = TRUE;
  5. $_ARTICLES['max_words'] = 10;
  6. $_ARTICLES['max_articles'] = 20;
  7. $page = ( IsSet($_GET['page']) ) ? $_GET['page'] : 0;
  8. $sort = ( IsSet($_GET['order']) ) ? $_GET['order'] :
  9.  $_ARTICLES['order']; 
  10.  
  11. $from = ( $page * $_ARTICLES['max_articles'] );
  12.  
  13.  
  14. //tak wygląda zapytanie
  15.  
  16. if (!$bd->zapytaj("SELECT * FROM filmy WHERE gatunek = '".$gatunek."' AND nosnik_dvd = '".$nosnik_dvd."' ORDER BY id " . $sort . "
  17.  LIMIT " . $from .", " . $_ARTICLES['max_articles'])) {
  18. die ($db->error());
  19. }
  20.  
  21.  
  22.  
  23. //zapytanie dzielące
  24.  
  25. if (!$bd->zapytaj("SELECT COUNT(*) FROM filmy WHERE gatunek = '".$gatunek."' AND nosnik_dvd = '".$nosnik_dvd."'")) {
  26. die ($db->error());
  27. }
  28.  
  29. list($articles) = $bd->pobierzTablice();
  30.  
  31. $all_pages = ( round($articles / $_ARTICLES['max_articles']) - 1 );
  32.  
  33.  $page_prev = ( $page - 1 );
  34. if ( !($page_prev < 0) && $_ARTICLES['optional_links'] == TRUE ) 
  35. { 
  36. echo '<font class="list_pages"><A class="list_pages" HREF="indeks.php?op=6&gatunek=przygodowy&nosnik_dvd=tak&page=' . $page_prev . '&order=' . $sort . '">'. '<< Poprzednia strona</A> [ ';
  37. } 
  38. else
  39. { 
  40. echo '<font class="list_pages">Linkownia [</font> ';
  41. } 
  42.  
  43. for ( $i = 0, $t = 1, $tt = 1; $i <= $all_pages; $i++, $t++, $tt++ ) 
  44. { 
  45. $spacer = $i == $all_pages ? ' ' : ' | '; 
  46. if ( $i == 0 ) 
  47. { 
  48.  $t = 'Pierwsza'; 
  49. } 
  50. else if ( $i == $all_pages ) 
  51. { 
  52.  $t = 'Ostatnia'; 
  53. } 
  54. else
  55. { 
  56.  $t = $tt; 
  57. } 
  58.  
  59. if ( $i == $page ) 
  60. { 
  61. echo '<font class="list_pages">'.$t . $spacer.'</font>'; 
  62. } 
  63. else 
  64. { 
  65. echo '<A class="list_pages" HREF="indeks.php?op=6&gatunek=przygodowy&nosnik_dvd=tak&page=' . $i . '&order=' . $sort . '">'. $t . '</A>' . $spacer;
  66. } 
  67. } 
  68. $page_next = ( $page + 1 ); 
  69. if ( !($page_next > $all_pages) && $_ARTICLES['optional_links'] ==
  70.  TRUE ) 
  71. { 
  72. echo '<font class="list_pages">]</font> <A class="list_pages" HREF="indeks.php?op=6&gatunek=przygodowy&nosnik_dvd=tak&page=' . $page_next . '&order=' .$sort . '&id=">'. 'Następna strona >></A>';
  73. } 
  74. else 
  75. { 
  76. echo ']</font>'; 
  77. }
  78.  
  79.  
  80. ?>


wdźięczny będę za znalezienie błędu tego skrypciku, no chyba że ktoś ma lepsze rozwiązanie.

pozdrawiam