Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Stronnicowanie z include?
kubax33
post 24.08.2012, 16:15:32
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
peter13135
post 24.08.2012, 17:05:41
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


A w sumie to w czym masz problem ? Bo jakoś nie wiem co chcesz osiągnąć.


--------------------
:)
Go to the top of the page
+Quote Post
kubax33
post 24.08.2012, 17:08:57
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


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źć?

Ten post edytował kubax33 24.08.2012, 17:09:50
Go to the top of the page
+Quote Post
peter13135
post 24.08.2012, 17:11:18
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


W takim razie pokaż nam jakąś Twoją wersję niedziaającego skryptu, to poprawimy. Gotowca nie dostaniesz tongue.gif


--------------------
:)
Go to the top of the page
+Quote Post
kubax33
post 24.08.2012, 17:21:18
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


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. }
Go to the top of the page
+Quote Post
peter13135
post 24.08.2012, 17:42:45
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


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 ?


--------------------
:)
Go to the top of the page
+Quote Post
kubax33
post 24.08.2012, 17:59:42
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


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ć
Go to the top of the page
+Quote Post
peter13135
post 24.08.2012, 18:09:20
Post #8





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


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".


--------------------
:)
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: 31.07.2025 - 07:43