Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: stronicowanie wyników w guest book
Forum PHP.pl > Forum > Przedszkole
maciekm
prosze o pomoc i ewentualne wskazanie błędu . mam problem ze stronicowaniem wyników księge gości na pliku textowym. Niby jest aktywny odnosnik " nastepne", ale nie ładuje następnych wpisów. Kod jest następujący :
  1. <?
  2. $plik=&#092;"licznik.txt\";
  3.  
  4. $myplik=fopen($plik, &#092;"r\");
  5.  
  6. $mylinia=fgets($myplik, 100);
  7. print(&#092;"Liczba wpisow &nbsp;:&nbsp;$mylinia<br>\");
  8. print(&#092;"$myLine <HR size=2 Width=\"100%\" <br>\");
  9. fclose($myplik);
  10.  
  11. if ($wpisy==0) $wpisy=1;
  12.  
  13. $ile=20; 
  14. $wlewo=&#092;"<<\";
  15. $wprawo=&#092;">>\";
  16.  
  17. if($wpisy==&#092;"1\") print(\"$wlewo poprzednie\"); 
  18. else 
  19. {
  20. $poprz=$wpisy-$ile;
  21. print (&#092;"<a href=\"or.php3?wpisy=$poprz\">$wlewo poprzednie</a>\");
  22. }
  23.  
  24. if ($wpisy+$ile-1>$mylinia) $x=$mylinia; else $x=$wpisy+$ile-1;
  25. print (&#092;"&nbsp&nbsp&nbsp&nbsp$wpisy-$x&nbsp&nbsp&nbsp&nbsp\");
  26.  
  27. if ($wpisy+$ile<$mylinia) 
  28. {
  29. $nast=$wpisy+$ile;
  30. print (&#092;"<a href=\"or.php3?wpisy=$nast\">następne $wprawo</a>\");
  31. }
  32. else print (&#092;"następne $wprawo\");
  33.  
  34.  
  35. print (&#092;"<hr>\");
  36. ?>
  37. <?
  38. $nazwa=&#092;"opiniewpis.txt\";
  39.  
  40. $myFile=fopen($nazwa, &#092;"r\");
  41. $i=1;
  42.  
  43. while(!feof($myFile))
  44. {
  45. $myLine=fgets($myFile, 512);
  46. $tablica[$i]=$myLine;
  47. $i++;
  48. }
  49. fclose($myFile);
  50.  
  51. for($i=$wpisy;$i<$wpisy+$ile;$i++)
  52. if($i<=$mylinia)
  53. print(&#092;"$tablica[$i] <BR><BR><HR size=1 Width=\"80%\" <BR>\");
  54.  
  55. ?>

gdzie może byc przyczyna?
sf
Napisałem nowe. Bo ten Twój skrypt mi się w ogóle nie podoba :-/

  1. <?php
  2. define('MAX', 5); // maksymalna liczba wpisow na stronie
  3. $file = 'wpisy.txt';
  4.  
  5. $aLines = file($file);
  6. $iCount = count($aLines);
  7.  
  8. $iStart = @(int)$_GET['start'];
  9.  
  10. for($i=$iStart; $i < $iCount && $i < $iStart + 5; $i++) {
  11. echo $aLines[$i].'<br />';
  12. }
  13.  
  14. if($iCount > MAX) {
  15. pagenumbering($iStart, MAX, $iCount, '');
  16.  
  17. }
  18.  
  19. /**
  20.  * $start - od ktorej pozycji mamy wyswietlac infromacje
  21.  * $one_page - ile informacji na jednej stronie
  22.  * $quantity - calkowita ilosc informacji mozliwych do wyswietlenia
  23.  * $get - czesc url, przesyla potrzebne dane
  24.  */
  25. function pagenumbering($start, $one_page, $quantity, $get='') {
  26.  
  27. // czy potrzebne jest stronicowanie
  28. if($one_page >= $quantity) {
  29. return;
  30. }
  31.  
  32. // strzalka w lewo, wstecz
  33. if($start!=0) {
  34. echo '<a href=\"?'. $get .'&amp;start='. ($start-$one_page) .'\">wstecz</a> ';
  35. }
  36.  
  37. // numeruj strony, zaznacz na ktorej jestes
  38. for($i=0, $j=1; $i<$quantity; $i+=$one_page, ++$j) {
  39. if($start <= $i && $start > $i-$one_page) {
  40. echo $j.' ';
  41. }
  42. else {
  43. echo '<a href=\"?'. $get .'&amp;start='. $i .'\">'. $j .'</a> ';
  44. }
  45. }
  46.  
  47. // strzalka w prawo, dalej
  48. if($start+$one_page < $quantity) {
  49. echo '<a href=\"?'. $get .'&amp;start='. ($start+$one_page) .'\">dalej</a>';
  50. }
  51.  
  52. }
  53.  
  54. ?>
maciekm
działa! serdeczne dzieki. co prawda bedę go przerabiał po swojemu, ale to tylko kosmetyka smile.gif. Apropos mojego kodu - on tez działał, ale po drodze był format, i... nie wiem, czy inny numer php czy cóś - odtąd nie działał i nie mogłem dojść dalczego. jeszcze raz dzięki, pozdrawiam
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.