Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Stronicowanie katalogów
Gibcio2008
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 26.10.2008

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


Witam !
Napotkałem się na następujący problem:

W katalogu głównym jest 100 podkatalogów i chciałbym zastosować stronicowanie żeby na stronie widocznych było po 10 katalogów, zastosowanie stronicowania na plikach nie daje rezultatów.

Proszę o pomoc - z góry dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
em1X
post
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


(IMG:http://forum.php.pl/style_emoticons/default/withstupidsmiley.gif)

Twoje handle i foreach służy do wyświetlania katalogów.. co to ma wspólnego ze stronicowaniem?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

  1. <?php
  2. // katalog, ktory ma byc stronicowany
  3. $katalog='/twoj/adres/do/katalogu';
  4.  
  5. // ile katalogow na strone?
  6. $porcja=10;
  7.  
  8. if (!is_dir($katalog)) {
  9.   die('Taki katalog nie istnieje, popraw sciezke.');
  10. }
  11.  
  12. // pobieramy katalogi
  13. $lista=array();
  14. foreach(glob($katalog,GLOB_ONLYDIR) as $dir)
  15. {
  16.   if ($dir != '.' && $dir != '..')
  17.      $lista[]=$katalog;
  18. }
  19.  
  20. // obliczamy ilosc stron
  21. $ilosc_stron=ceil(count($lista)/$porcja);
  22.  
  23. // pobieramy z adresu, ktora strone wyswietlac
  24. $strona=intval(@$_GET['strona']);
  25.  
  26. // jezeli ktos przesadzil, z numerem strony to trzeba go poprawic
  27. $strona=$strona > $ilosc_stron || $strona < 0 ? 0 : $strona;
  28.  
  29. // wyswietlamy katalogi
  30. $od=$porcja*$strona;
  31. $do=($od+$porcja)-1;
  32.  
  33. // rysuj katalogi
  34. for ($i=$od; $i<=$do; $i++)
  35. {
  36.   print $lista[$i] . '<br/>';
  37. }
  38.  
  39. // rysuj stronicowanie
  40. print '<hr/>';
  41. for ($i=0; $i<$ilosc_stron; $i++)
  42. {
  43.   print '<a href="index.php?strona='.$i.'" alt="skok do strony '.($i+1).'>'.($i+1).'</a> ';
  44. }
  45. ?>


pisane z głowy bez żadnego sprawdzania więc nie dam ręki uciąć, że nie ma żadnych błędów

Ten post edytował em1X 22.06.2009, 10:23:21
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 17:27