Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Problem ze stronicowaniem małych ilości
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Witam,
poniżej prezentuję kod stronicowania wyników z mysql.
Problemem jest podawanie przez skrypt wartości ujemnych -2 -1 0 1 2 3
Gdy jest do pokazania "Porzednia 1 ... 5 6 7 ... 12 Następna" jest ok - a przynajmniej nie zauważyłem problemów
Widoczne jest to przy małych ilościach (np. jak jest do stronicowania jedna czy dwie strony).
W czym może być przyczyna? A może ktoś ma proste i sensowne gotowe rozwiązanie?

  1. <?php
  2. $nbratpage = 25;
  3. if (isset($_GET["page"])) {
  4. $page = $_GET["page"];
  5. }else{
  6. $page=1;
  7. }
  8.  
  9. $roww = mysql_fetch_array($rs_result);
  10. $total_records = $roww['qntpgs'];
  11. $total_pages = ceil($total_records/$nbratpage);
  12. $navnum = 5;
  13. $forstart = $page - floor($navnum/2);
  14. $forend = $forstart + $navnum;
  15. if($forstart <= 0){ $forstart = 1; }
  16. $overend = $total_pages - $forend;
  17. if($overend < 0){ $forstart = $forstart + $overend + 1; }
  18. $forend = $forstart + $navnum;
  19. $prev = $page - 1;
  20. $next = $page + 1;
  21.  
  22. if($ctt_producent == NULL && $ctt_firm == NULL)
  23. {
  24.  
  25. if($page > 1) echo "<li><a href=\"". "$adres_lokalny" . "?page=".$prev."\">Poprzednia</a></li>";
  26. if ($forstart > 1) echo "<li><a href=\"". "$adres_lokalny" . "?page=1\">1</a></li>";
  27. if ($forstart > 2) echo "<li><a>...</a></li>";
  28. for($forstart; $forstart < $forend; $forstart++){
  29. if($forstart == $page){
  30. echo "<li><a>";
  31. }else{
  32. echo "<li><a href=\"". "$adres_lokalny" . "?page=".$forstart."\">";
  33. }
  34. echo "<b>".$forstart."</b></a></li>";
  35. }
  36. if($forstart < $total_pages) echo "<li><a>...</a></li>";
  37. if($forstart - 1 < $total_pages) echo "<li><a href=\"". "$adres_lokalny" . "?page=".$total_pages."\">".$total_pages."</a></li>";
  38. if($page < $total_pages) echo "<li><a href=\"". "$adres_lokalny" . "?page=".$next."\">Następna</a></li>";
  39.  
  40. }
  41. else
  42. {
  43.  
  44. if($page > 1) echo "<li><a href=\"". "$adres_lokalny" . "&page=".$prev."\">Poprzednia</a></li>";
  45. if ($forstart > 1) echo "<li><a href=\"". "$adres_lokalny" . "&page=1\">1</a></li>";
  46. if ($forstart > 2) echo "<li><a>...</a></li>";
  47. for($forstart; $forstart < $forend; $forstart++){
  48. if($forstart == $page){
  49. echo "<li><a>";
  50. }else{
  51. echo "<li><a href=\"". "$adres_lokalny" . "&page=".$forstart."\">";
  52. }
  53. echo "<b>".$forstart."</b></a></li>";
  54. }
  55. if($forstart < $total_pages) echo "<li><a>...</a></li>";
  56. if($forstart - 1 < $total_pages) echo "<li><a href=\"". "$adres_lokalny" . "&page=".$total_pages."\">".$total_pages."</a></li>";
  57. if($page < $total_pages) echo "<li><a href=\"". "$adres_lokalny" . "&page=".$next."\">Następna</a></li>";
  58.  
  59. }
  60. ?>


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:53