Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przegladanie pliku tekstowego przyciskami poprzedni/nastepny
Forum PHP.pl > Forum > Przedszkole
jestan
Witam, chciałem uzyskać efekt odczytywania na stronie kolejnych wierszy z pliku tekstowego, mając do dyspozycji dwa przyciski np. poprzedni/następny.
Powiedzmy taka wirtualna przeglądarka wizytówek.
Kombinowałem różne rozwiązania m.in. to pod spodem, ale zmienna $a nie podlega inkrementacji.
Nie mam dużego doświadczenia z PHP stąd prośba o pomoc jak można rozwiązać to zadania?
  1. <?php
  2. function nastepny()
  3. {
  4. $tablica = file("nazwiska.txt");
  5. static $a = 0;
  6. echo 'Pan/Pani: '.$tablica[$a].'';
  7. $a++;
  8. }
  9.  
  10. function poprzedni()
  11. {
  12. $tablica = file("nazwiska.txt");
  13. static $a = 0;
  14. echo 'Pan/Pani: '.$tablica[$a].'';
  15. $a--;
  16. }
  17.  
  18. if (isset($_POST["poprzedni"])){poprzedni();}
  19. if (isset($_POST["nastepny"])){nastepny();}
  20. ?>
  21.  
  22. <html>
  23. <head>
  24. <title>POMOC</title>
  25. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  26. </head>
  27.  
  28. <body>
  29. <table align="center" style="padding-top: 100px">
  30. <th>
  31. <form action="" method="POST">
  32. <input type="submit" value="nastepny" name="nastepny">
  33. <input type="submit" value="poprzedni" name="poprzedni">
  34. </form>
  35. </th>
  36. </table>
  37. </body>
  38. </html>
slash^
Możesz w zmiennej $_GET przekazywanej w pasku przeglądarki podawać nr wiersza ( bo z kodu rozumiem, że o to chodzi ) i w ten sposób wyświetlać tekst, a w przyciskach podawać poprzedni i nastepny do aktualnego.
jestan
Slash^, dzięki za podpowiedź. Czyli sugerujesz aby w ogóle zmienić metodę z POST NA GET?
slash^
Nie jest to konieczne, ale dzięki temu będziesz widział która strona jest już w linku i będziesz mógł komuś taki link wysłać.
jestan
Jeszcze raz dzięki Slash^ jednak rozwiązałem to nieco inaczej, bo za pomocą mechanizmu sesji i wygląda to tak:
  1. <?php
  2.  
  3. if (!isset($_SESSION['i'])) {$_SESSION['i'] = 0;}
  4.  
  5. if (isset($_POST["nastepny"]))
  6. {
  7. $tablica = file("nazwiska.txt");
  8. echo 'Pan/Pani: '.$tablica[$_SESSION['i']].'';
  9. $_SESSION['i']++;
  10. }
  11.  
  12. if (isset($_POST["poprzedni"]))
  13. {
  14. $tablica = file("nazwiska.txt");
  15. echo 'Pan/Pani: '.$tablica[$_SESSION['i']].'';
  16. $_SESSION['i']--;
  17. }
  18. ?>

wymaga jeszcze nieco dopracowania, ale działa.
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.