Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] stronicowanie, na podstawie tablicy
andixxx
post 27.11.2007, 22:33:23
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


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. ?>
Go to the top of the page
+Quote Post
nospor
post 27.11.2007, 22:38:29
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
andixxx
post 27.11.2007, 23:23:55
Post #3





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 1.06.2006
Skąd: Legnica

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


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;)
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 3.07.2025 - 16:37