Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak postronicować wynik dla readdir
Forum PHP.pl > Forum > PHP
kallosz
Mam taki kod:
  1. <table align="center">
  2. <?
  3.  
  4. @$katalog = opendir('folder');
  5. if (!$katalog) die ('Nie mogę otworzyć folderu.');
  6. $roz_graficzne = array('.jpg', '.jpeg', '.gif', '.png');
  7. while($pliki = readdir($katalog))
  8. {
  9. if ($pliki != '.' && $pliki != '..')
  10. {
  11. $rozszerzenie = strtolower(strrchr($pliki, "."));
  12. if(in_array($rozszerzenie, $roz_graficzne))
  13. $lista[] = $pliki;
  14. }
  15. }
  16.  
  17. foreach($lista as $value)
  18. {
  19. $i++;
  20. if($i==1){print"<tr>";}
  21.  
  22. echo '<td>';
  23. echo '<a href="folder/'.$value.'" rel="lightbox[roadtrip]" target="_blanc"><img src="../miniaturki.php?img_name=folder/'.$value.'" border="0" /></a>'."n";
  24. echo '</td>';
  25. if($i==5){print"</tr>";$i=0;}
  26. }
  27.  
  28. if($i==1){print"<td></td></tr>";}
  29.  
  30. ?>
  31. </table>

jak dorobić tutaj stronicowanie questionmark.gif
skowron-line
sortowanie tablic
Cytat
Patrz także: arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort(), usort(), array_multisort() i uksort().
nospor
@skowron-line on sie nie pytal jak sortować, ale jak stronicować. Delikatna roznica winksmiley.jpg
@kallosz w moim podpisie masz Pager. W paczce do sciagniecia masz przyklad stronicowania tablic (wynik readdir masz w tablicy). Moze ci sie przyda
kallosz
a może napisał mógł byś przykład jak zastosować Twój pager dla tego kodu questionmark.gif
z góry THX.
nospor
jak juz mowilem: w paczce do ściągniecia masz przyklady. Konkretnie chodzi mi o przyklad z pliku ex_with_array.php
Twoją tablicą do stronicowanie jest $lista. Nic tylko zamiast mojej tablicy z przykladu, użyć Twojej.
kallosz
  1. <table align="center">
  2. <? 
  3.  
  4. @$katalog = opendir('foto_realizacje'); 
  5. if (!$katalog) die ('Nie mogę otworzyć folderu.'); 
  6. $roz_graficzne = array('.jpg', '.jpeg', '.gif', '.png'); 
  7. while($pliki = readdir($katalog)) 
  8. { 
  9. if ($pliki != '.' && $pliki != '..') 
  10. { 
  11. $rozszerzenie = strtolower(strrchr($pliki, ".")); 
  12. if(in_array($rozszerzenie, $roz_graficzne)) 
  13. $lista[] = $pliki; 
  14. } 
  15. } 
  16.  
  17. $lista = array();
  18. $totalRecords = 23;
  19.  
  20. $e = '';
  21.  
  22. for ($i=0; $i<$totalRecords; $i++)
  23. { 
  24. if($i==1){print"<tr>";}
  25.  
  26. echo '<td>';
  27. echo '<a href="foto_realizacje/'.$i.'" rel="lightbox[roadtrip]" target="_blanc"><img src="../miniaturki.php?img_name=foto_realizacje/'.$value.'" border="0" /></a>'."n";
  28. echo '</td>';
  29. if($i==4){print"</tr>";$i=0;}
  30. }
  31. if($i==1){print"<td></td></tr>";}
  32.  
  33. try{
  34. $pager = new Pager('idPagera');
  35. $pager->SetTotalRecords($totalRecords);
  36. $pager->SetRecordsPerPage(20);
  37. $pager->SetPagesPerNav(5);
  38. $pag = $pager->Render();
  39. $indexStart = $pager->GetIndexRecordStart();
  40. $indexEnd = $pager->GetIndexRecordEnd();
  41. }
  42. catch (Exception $e) {
  43. echo $e->getMessage();
  44. }
  45.  
  46. echo '';
  47. for ($i=$indexStart; $i<=$indexEnd;$i++)
  48. echo "<tr><td>{$tab[$i]['ID']}</td><td>{$tab[$i]['TEXT']}</td></tr>";
  49. echo '';
  50. echo $pag;
  51.  
  52.  
  53.  
  54. ?>
  55. </table>
co robie zle questionmark.gif
nospor
jejciu. prosta sprawa. zamiast mojej tablicy ma byc twoja. w czym problem?
  1. <?php
  2. //generujesz swoją tablicę:
  3. @$katalog = opendir('foto_realizacje'); 
  4. if (!$katalog) die ('Nie mogę otworzyć folderu.'); 
  5. $roz_graficzne = array('.jpg', '.jpeg', '.gif', '.png'); 
  6. $lista = array();
  7. while($pliki = readdir($katalog)) 
  8. { 
  9. if ($pliki != '.' && $pliki != '..') 
  10. { 
  11. $rozszerzenie = strtolower(strrchr($pliki, ".")); 
  12. if(in_array($rozszerzenie, $roz_graficzne)) 
  13. $lista[] = $pliki; 
  14. } 
  15. } 
  16. //koniec genereacji twojej tablicy, teraz przypisszemy ja do mojej
  17.  
  18. //ponizej bylo generowanie mojej tablicy, ale ze mamy twoja to moja wykomentujemy
  19. //$tab = array(); //
  20. //$totalRecords = 500;
  21. //for ($i=0; $i<$totalRecords; $i++){
  22. // $tab[$i]['ID'] = $i;
  23. // $tab[$i]['TEXT'] = 'Jakis tekst nr:'.$i;
  24. //}
  25.  
  26. //teraz za moja podstawimy twoja. zrobie to brzydko, ale nie chce ci juz kodu mies
    zac bo widze ze i bez tego masz problemy:
  27. $tab = $lista;
  28. $totalRecords = count($tab);
  29. //reszta nizej bez zmian
  30. try{
  31. $pager = new Pager('idPagera', 'ex_with_array.php?a=1&b=2');
  32. $pager->SetTotalRecords($totalRecords);
  33. $pager->SetRecordsPerPage(20);
  34. $pager->SetPagesPerNav(5);
  35. $pag = $pager->Render();
  36. $indexStart = $pager->GetIndexRecordStart();
  37. $indexEnd = $pager->GetIndexRecordEnd();
  38. }
  39. catch (Exception $e) {
  40. echo $e->getMessage();
  41. }
  42.  
  43. echo '<table>';
  44. for ($i=$indexStart; $i<=$indexEnd;$i++)
  45. echo "<tr><td>{$tab[$i]}</td></tr>";
  46. echo '</table>';
  47. echo $pag;
  48. ?>
nospor
Przyklad co ci podalem dziala idealnie. Wiem, bo testowalem. Nie wyswietla zadnego "d".

Cytat
nie w 4kolumnach
No tak. ja ci podalem przyklad jak użyc stronicowania. jak chcesz sobie jeszcze te wynik w 4 kolumnach walic to sobie dorób. Calej roboty za ciebie odwalac nie bede
kallosz
THX ... wszystko dziala swietnie smile.gif

super jest ten pager.
Pozdrawiam smile.gif
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.