Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Stronnicowanie z include?
Forum PHP.pl > Forum > Przedszkole
kubax33
Witam,
chcę zrobić stronnicowanie wyników z pliku txt i znalazłem taki skrypt:

  1. <?
  2. $lines = file('data.txt');
  3. #echo '<pre>'; print_r($lines); echo '</pre>';
  4. $perpage = 5;
  5. $p = isset($_GET['p']) ? $_GET['p'] : 0;
  6. for($i = $p; $i <= ($p + $perpage); $i++){
  7. if($lines[$i] != ''){
  8. echo $lines[$i] . '<br><br>';
  9. }
  10. }
  11.  
  12. ?>
  13. <table summary="" cellpadding="10" cellspacing="0" border="0" class="global-links-menu">
  14. <tr>
  15. <?
  16. if($p==0 || $p==1)
  17. {
  18. echo "<td>Poprzednia</td>";
  19. }
  20. else
  21. {
  22. $back_page=$p-1;
  23. echo "<td ><a href='?p=$back_page'>Poprzednia</a></td>";
  24. }
  25.  
  26. for($j=1;$j<=$perpage;$j++)
  27. {
  28.  
  29. if($j==$p)
  30. {
  31. echo "<td >$p</td>";
  32. }
  33. else
  34. {
  35. echo "<td ><a href='?p=$j'>$j</a></td>";
  36. }
  37. }
  38.  
  39. if($p<$perpage)
  40. {
  41. $next_page=$p+1;
  42. echo "<td ><a href='?p=$next_page'>Następna</a></td>";
  43. }
  44. else
  45. {
  46. echo "<td >Następna</td>";
  47. }
  48. ?>



jednak moje wyniki w skrypcie w którym chciałbym umieścić stronnicowanie są wywoływane tak:

  1. $dane = file("data.txt");
  2. $ile = count($dane);
  3.  
  4. for ($i=0; $i<$ile; $i++)
  5. {
  6. $linijka = explode("|",$dane[$i]);
  7. include("wpisy.inc.php");
  8. }



jak połączyć stronnicowanie z tym include? metodą prób i błędów próbuję ale nie wychodzi...
peter13135
A w sumie to w czym masz problem ? Bo jakoś nie wiem co chcesz osiągnąć.
kubax33
Mam skrypt, który pokazuje mi wyniki na stronie poprzez wywołanie include (umieściłem wyżej) i pokazuje sie na przykład 100 wyników, a ja chciałbym to postronnicować z tym, z tym że mówie wyniki odbieram w pętli jak widać z include. Skrypt działa poprawnie tylko mam problem z tym stronnicowaniem... Jak to ugryźć?
peter13135
W takim razie pokaż nam jakąś Twoją wersję niedziaającego skryptu, to poprawimy. Gotowca nie dostaniesz tongue.gif
kubax33
Nie proszę o gotowca... Sam męczę się metodą prób i błędów od dłuższego czasu i szukam pomocy jeśli nie daję rady bo moja wiedza w którymś momencie się kończy.

Próbowałem czegoś takiego, ale zdaje mi się ze zastosowałem pętle w pętli i wyniki wywołują sie w nieskończoność chociaż to i tak pewnie zły trop a raczej próba. Po prostu nie wiem czym się wzorówać, aby to ruszyło:

  1. $dane = file("data.txt");
  2. $ile = count($dane);
  3.  
  4. for ($i=0; $i<$ile; $i++)
  5. {
  6. $linijka = explode("|",$dane[$i]);
  7.  
  8. #echo '<pre>'; print_r($linijka); echo '</pre>';
  9. $perpage = 5;
  10. $p = isset($_GET['p']) ? $_GET['p'] : 0;
  11. for($i = $p; $i <= ($p + $perpage); $i++){
  12. if($linijka[$i] != ''){
  13. include("wpis.inc.php");
  14. }
  15. }
  16. echo '<table summary="" cellpadding="10" cellspacing="0" border="0" class="global-links-menu">
  17. <tr>';
  18.  
  19. if($p==0 || $p==1)
  20. {
  21. echo "<td>Poprzednia</td>";
  22. }
  23. else
  24. {
  25. $back_page=$p-1;
  26. echo "<td ><a href='?p=$back_page'>Poprzednia</a></td>";
  27. }
  28.  
  29. for($j=1;$j<=$perpage;$j++)
  30. {
  31.  
  32. if($j==$p)
  33. {
  34. echo "<td >$p</td>";
  35. }
  36. else
  37. {
  38. echo "<td ><a href='?p=$j'>$j</a></td>";
  39. }
  40. }
  41.  
  42. if($p<$perpage)
  43. {
  44. $next_page=$p+1;
  45. echo "<td ><a href='?p=$next_page'>Następna</a></td>";
  46. }
  47. else
  48. {
  49. echo "<td >Następna</td>";
  50. }
  51. }
peter13135
Miałem coś napisać, ale zwątpiłem. Nie chcę zbytnio Cię zniechęcać, ale po prostu nie myślisz co piszesz.

Ta pęta od 0 do $ile jest kompletnie nie potrzebna. Masz wyświetlić elementy od $p do $p+$perpage.

Nie wiem w sumie jak mam Ci pomóc, nie dając Ci gotowca Może najpierw naucz się robić schematy blokowe albo ns ?
kubax33
Dlaczego nie potrzebna ta pętla? bez niej nie będzie żadnych wyników s krypcie. Plik wpis.inc.php ma np:

  1. Usher: '.$linijka[1].' wiek: '.$linijka[2].' płeć: '.$linijka[3].'


i w moim rozumieniu wygląda to tak, że: pętla przeszukuje linijki z bazy i wsadza w strukturę include dzięki czemu wynik skryptu to np:

1. Usher: nick1203 wiek: 23 płeć: mężczyzna
2. Usher: nick28 wiek: 20 płeć: mężczyzna
3. Usher: nick3940 wiek: 19 płeć: mężczyzna

I teraz wynik skryptu chcę dodać do stronnicowania, aby podzielił go na strony.

Naprowadź mnie chociaż bo nie wiem za co się zabrać jeśli w ogóle rozumiesz już co chcę osiągnać
peter13135
Pętla "od 0 do $ile" jest niepotrzebna, bo ty nie chcesz wyświetlać wyników "od 0 do $ile" (bo tak byś wyświetlił wszystie wyniki) tylko "od $p do $p+$perpage".
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.