Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem ze stronicowaniem- za proste?
Forum PHP.pl > Forum > Przedszkole
marian84
Witam!

Mam taki kod stronicowania...:

  1. <?php
  2. $str.= '<div style=\"padding:5 5 10 0\">';
  3. $str.= 'Strony: ';
  4. for($i=0; $i<=$ile_s;$i++){
  5. $i_v=$i+1;
  6. $i_p=$i*20;
  7. $ktora_strona=$_GET['p'];
  8. if($i_v==($ktora_strona)/20+1){
  9. $str.= '<a href=\"index.php?katalog_firm'.$kat_ciag.$powiat_ciag.$fraza_s.'&amp;p='.$i_p.'\">['.$i_v.'] ';
  10. }else{
  11. $str.= '<a href=\"index.php?katalog_firm'.$kat_ciag.$powiat_ciag.$fraza_s.'&amp;p='.$i_p.'\">'.$i_v.' ';
  12. }
  13. }
  14. $str.= '';
  15. ?>


Kod ten wylicza wszystkie strony kolejno od pierwszej do ostatniej...
1,2, [3],4,5,6,7 etc

gdzie [3] jest aktualna stroną

jak przerobic ten kod by wyświetlane strony wygladały tak:

1...5,6,[7],8,9...99999
piotrekkr
  1. <?php
  2. public function show_pages($number_of_pages, $actual_page){
  3. if($number_of_pages == 1){
  4. $pages = '<div class="pages"><span class="actual_page">[1]</span></div>';
  5. }else{
  6. $pages = '<div class="pages">';
  7. if($number_of_pages >= 11){
  8. if($actual_page > 5){
  9. $pages .= ' <a href="'.$this->create_link(1).'" class="page">[1]</a> ';
  10. $pages .= ' <span class="actual_page"> ... </span> ';
  11. if($actual_page > $number_of_pages - 5){
  12. for($i=$actual_page - 3; $i <= $number_of_pages; $i++){
  13. if($actual_page == $i){
  14. $pages .= ' <span class="actual_page">['.$i.']</span> ';
  15. }else{
  16. $pages .= ' <a href="'.$this->create_link($i).'" class="page">['.$i.']</a> ';
  17. };
  18. };
  19. }else{
  20. for($i = $actual_page - 3; $i <= $actual_page + 3; $i++){
  21. if($i == $actual_page){
  22. $pages .= ' <span class="actual_page">['.$i.']</span> ';
  23. }else{
  24. $pages .= ' <a href="'.$this->create_link($i).'" class="page">['.$i.']</a> ';
  25. }
  26. };
  27. $pages .= ' <span class="actual_page"> ... </span> ';
  28. $pages .= ' <a href="'.$this->create_link($number_of_pages).'" class="page">
  29. ['.$number_of_pages.']</a> ';
  30. };
  31. }else {
  32. for($i = 1; $i <= $actual_page + 3; $i++){
  33. if($i == $actual_page){
  34. $pages .= ' <span class="actual_page">['.$i.']</span> ';
  35. }else{
  36. $pages .= ' <a href="'.$this->create_link($i).'" class="page">['.$i.']</a> ';
  37. };
  38. };
  39. $pages .= ' <span class="actual_page"> ... </span> ';
  40. $pages .= ' <a href="'.$this->create_link($number_of_pages).'" class="page">
  41. ['.$number_of_pages.']</a> ';
  42. };
  43. }else{
  44. for($i = 1;$i <= $number_of_pages;$i++){
  45. if($i == $actual_page){
  46. $pages .= ' <span class="actual_page">['.$i.']</span> ';
  47. }else{
  48. $pages .= ' <a href="'.$this->create_link($i).'" class="page">['.$i.']</a> ';
  49. };
  50. };
  51. };
  52. $pages .= "</div>";
  53. };
  54. return $pages;
  55. }
  56. ?>

Może coś Ci podpowie mój skrypt wyświetlania paginacji albo chociaż naprowadzi... smile.gif
marian84
Niestety nie mogę sobie z tym poradzić... może ktoś potrafi przerobić mój kod??
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.