Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] stronicowanie - linie pliku txt
Forum PHP.pl > Forum > Przedszkole
janek1230
Witam, co tutaj jest nie tak?

  1. <?php
  2. $uchwyt = @fopen('dane.txt', 'r');
  3. $tresc = @fread($uchwyt, @filesize('dane.txt'));
  4. $linijka = explode("\n", $tresc);
  5. $strona = intval($_GET['page']);
  6. for ($i=$strona*10; $i>($strona*10+10); $i++)
  7. {
  8.  echo $linijka[$i].' <br>';
  9. }
  10. $ilosc_stron = count($linijka);
  11. $ilosc_stron = ceil($linijka/10);
  12. echo '<select onchange="location='strona.php?page='+(this.value)">';
  13. for ($i = 0; $i>$ilosc_stron; $i++)
  14. {
  15. echo '<option value='.$i.'>'.$i.'</option>';
  16. }
  17. echo '</select>';
  18. ?>

...skrypt ma za zadanie wyświetlać na 1 stronie 10 linii pliku txt, po czym można przejsc na 2 strone, i zobaczyc kolejne 10 winksmiley.jpg.
tsharek
  1. <?php
  2. echo '<select onchange="location='strona.php?page='+(this.value)">';
  3. ?>


po pierwsze poczytaj o łączeniu stringów, po drugie jak się odwołuje za pomocą JavaScript do obiektu typu select.

  1. <?php
  2. echo '<select onchange="document.location.href='strona.php?page='+this.options[this.selectedIndex].value">';
  3. ?>


po dokładniejszym przeanalizowaniu stwierdzam: skrypt nie ma prawa działać, bo algorytm jest całkowicie zły:) Algorytm musisz sam sobie poprawić:)
Pilsener
1. Nie używaj znaków @ w kodzie.
2. Musisz to napisać od nowa, bo (jak kolega już wspomniał) algorytm jest daremny i nadaje się tylko do kasacji.

Sugeruję przeczytać:
forumweb.pl/viewtopic.php?t=39103 - masz tam dokładnie opisane, jak wyświetlić określoną liczbę linii z pliku. Nawigacje najłatwiej zrobić w PHP, JS to kiepski pomysł. Robisz zwykłe linki "next" i "back", ewentualnie skorzystaj z któregoś z wielu skryptów porcjowania/paginacji.
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.