Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] stronicowanie
Forum PHP.pl > Forum > Przedszkole
andixxx
witam .. mam oto taki kawalek kodu i od razu pytanie .. mozna zrobic z tego cos takiego, ze jezeli w tablicy jest wiecej niz 20 elementow (np 100 albo 150) to aby na jednej stronie bylo wyswietlane tylko po 20 wynikow a reszta na innych stronach ? a jak tak to jak.. probuje probuje i mi nie wychodzi nic sad.gif

  1. <?
  2. $katalog = opendir('zdjecia'); 
  3. if (!$katalog) die ('Nie moge otworzyc folderu'); 
  4. $roz_graficzne = array('.jpg', '.jpeg', '.gif', '.png');
  5. while($pliki = readdir($katalog))
  6. {
  7. if ($pliki != '.' && $pliki != '..')
  8. {
  9. $rozszerzenie = strtolower(strrchr($pliki, "."));
  10. if(in_array($rozszerzenie, $roz_graficzne))
  11. $lista[] = $pliki;
  12. }
  13. }
  14. $id2 = count($lista); 
  15. $id = 0;
  16. $i = 1;
  17.  
  18. while ($id < $id2) {
  19. echo '<a href="zdjecie.php?id='.$id.'"><img src="zdjecia/'.$lista[$id].'" width="150" height="112"></a>  ';
  20. $id++;
  21. if($i == 5)
  22. {
  23.  echo '<br>';
  24.  $i = 1;
  25. }
  26. else
  27. {
  28.  $i++;
  29. }
  30.  
  31. }
  32. ?>
nospor
temat stronicowania byl poruszany wiele razy. wystarczy poszukac i przejrzec jak sobie z tym inni poradzili.

Mozesz skorzystac tez z gotowych klas co to robia. W moim podpisie masz taką jedną ktorej wykorzystanie pokazalem rowniez na tablicy.
andixxx
dzieki nospor poradzilem sobie:)
zrobilem to tak:

  1. <?
  2. $katalog = opendir('zdjecia'); 
  3. if (!$katalog) die ('Nie moge otworzyc folderu'); 
  4. $roz_graficzne = array('.jpg', '.jpeg', '.gif', '.png');
  5. while($pliki = readdir($katalog))
  6. {
  7. if ($pliki != '.' && $pliki != '..')
  8. {
  9. $rozszerzenie = strtolower(strrchr($pliki, "."));
  10. if(in_array($rozszerzenie, $roz_graficzne))
  11. $lista[] = $pliki;
  12. }
  13. }
  14. $id2 = count($lista); 
  15. $id = 0;
  16. $a = 1;
  17.  
  18.  
  19. $ilosc = count($lista);
  20. $iloscNaStronie = 20;
  21. $iloscStron = ceil($ilosc/$iloscNaStronie);
  22.  
  23. if($_GET['strona'] && $_GET['strona'] > 0 && $_GET['strona'] <= $iloscStron) $strona = $_GET['strona']-1;
  24. else $strona = 0;
  25.  
  26. $start = $strona * $iloscNaStronie;
  27. if($start >= $ilosc) $start = 0;
  28.  
  29. $stop = $start + $iloscNaStronie;
  30. if($stop >= $ilosc) $stop = $ilosc;
  31.  
  32. for($id = $start; $id < $stop; $id++){
  33. echo '<a href="zdjecie.php?id='.$id.'"><img src="zdjecia/'.$lista[$id].'" width="150" height="112"></a>&nbsp;&nbsp;';
  34. if($a == 5)
  35. {
  36.  echo '<br>';
  37.  $a = 1;
  38. }
  39. else
  40. {
  41.  $a++;
  42. }
  43.  
  44.  
  45. }
  46.  
  47. echo '<br>';
  48. if($strona > 0) echo '<a href="index.php?strona='.($strona).'" >[<]</a>'; //link wstecz o jedna strone
  49. for($i = 1; $i <= $iloscStron; ++$i){
  50. echo '<a href="index.php?strona='.$i.'" >['.$i.']</a>'; //drukowanie linkow do stron
  51. }
  52. echo $linki;
  53. if($strona < $iloscStron-1) echo '<a href="index.php?strona='.($strona+2).'" >[>]</a>'; //link dalej o jedna strone
  54.  
  55. ?>


moze sie komus kiedys przyda;)
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.