Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] strony w galerii
Forum PHP.pl > Forum > Przedszkole
piasekps
Wiatm,

Robie strone wyswietlajaca zdjecia, chce aby wyswietlalo sie na jakiej
jestesmy stronie i ile jeszcze zostalo.

  1. <?php
  2. if ($nrPage > 1)
  3. {echo '<a href="'.$link.'&nP='.(($nrPage - 1) * 11).'">'.($nrPage - 1).'</ a>&nbsp;';}
  4.  
  5. echo '<BIG>'.$nrPage.'</ BIG>';
  6.  
  7. if ($nrPage < $all)
  8.  {
  9.  $page1 = '<a href="'.$link.'&nP='.(($nrPage + 1) * 11).'">'.($nrPage + 1).'</ a>';
  10.  $page2 = '<a href="'.$link.'&nP='.(($nrPage + 2) * 11).'">'.($nrPage + 2).'</ a>';
  11.  if (($nrPage + 2) <= $all)
  12. echo '&nbsp;<BIG>'.$page1.''.$page2.'</ BIG>';
  13.  elseif (($nrPage + 1) == $all )
  14. echo '&nbsp;'.$page1;
  15. }
  16. echo '&nbsp;z '.$all;
  17. ?>


Stworzylem cos takiego i chcialbym aby efekt byl nastepujacy:
np. jesli jestemy na stronie 2, to wyswietla sie 1 2 34 z 11
gdzie 1 3 i 4 sa linkami do strony 3 i 4 a 2 jest poprostu wieksza niz linki
niestety powyzszy kod generuje mi '1 2 34 z 11' i wszystko jest linkiem,
'2' jest linkiem do pierwszej strony a 'z 11' do strony 4.
Nie mam pojecia dlaczego '2' i 'z 11' jest wogule linkiem.

Bede wdzieczny za podpowiedz

Pozdrawiam P.S.
b_chmura
pisane z palca

  1. <?php
  2. function pagin($str, $cnt)
  3. {
  4. if(empty($str) OR $str <= 0)
  5. {
  6. $str = 1;
  7. }
  8.  
  9. if($str > $cnt)
  10. {
  11. $error = 'Nie ma takiego zdjecia';
  12. }
  13. else
  14. {
  15. for($i = 0; $i <= $cnt; $i++)
  16. {
  17. if($str == $i)
  18. {
  19. $links .= '<b>'.$i.'</b>';
  20. }
  21. else
  22. {
  23. $links .= '<a href="?page='.$i.'">'.$i.'</a>';
  24. }
  25. }
  26. }
  27.  
  28. echo $links.' z '.$cnt;
  29. }
  30. ?>


gdzie:
$str - numer aktualnej strony (np. pobrany GET'em z url'a)
$cnt - suma wszystkich stron

do funkcji odwołujemy się w miejscu gdzie chcemy wyświetlić paginacje.
piasekps
Dzieki za pomoc!

Ok poprawilem ten kod dla wlasnych celow i dziala jak chcialem, ale moze jest ktos wstanie mi wytlumaczyc
dlaczego w tym moim kodzie, dzialy sie takie rzeczy? Czyli dlaczego liczby ktore nie mialbyc linkami jednak nimi sa?

Pozdrawiam P.S.
lilik
elseif w towim kodzie tez powinno miec nawiasy {} a nie ma tych nawiasow wiec wykonywany jest caly warunek if jako calosc bo tylko dla if zamknoles w klamrach czyli innymi slowy powinno byc
moim zdaniem
  1. <?php
  2. if ($nrPage > 1)  
  3. {
  4. echo '<a href="'.$link.'&nP='.(($nrPage - 1) * 11).'">'.($nrPage - 1).'</ a>&nbsp;';
  5. }
  6.  
  7. echo '<BIG>'.$nrPage.'</ BIG>';
  8.  
  9.  if ($nrPage < $all)
  10.  {
  11.   $page1 = '<a href="'.$link.'&nP='.(($nrPage + 1) * 11).'">'.($nrPage + 1).'</ a>';  
  12. $page2 = '<a href="'.$link.'&nP='.(($nrPage + 2) * 11).'">'.($nrPage + 2).'</ a>';
  13. }
  14.  
  15.  if (($nrPage + 2) <= $all)
  16. {  
  17.  echo '&nbsp;<BIG>'.$page1.''.$page2.'</ BIG>';
  18. }
  19.  elseif (($nrPage + 1) == $all )
  20. {  
  21.  echo '&nbsp;'.$page1;
  22. } 
  23.  echo '&nbsp;z '.$all;
  24. ?>
piasekps
To raczej nie to,

z tego co wiem to jesli nie daje sie nawiasow to jest wykonywana pierwsza linia po funkcji (if, else, for etc.)[chyba ze sie
myle,] po drugie dodalem nawiasy i problem jest ten sam, nie ma najmniejszej zmiany
b_chmura
bo wogóle tego nie przemyślałeś i zrobiłeś to kompletnie bez pomysłu? właściwie to nie wiem czym się kierowałeś pisząc swó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.