Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wstawienie <dzielnastrony> tworzy stronicowanie.
Forum PHP.pl > Forum > PHP
zlw
Witam,

Mam pewien problem. Otóż chciałem w swoim skrypcie dać coś takiego, że przy pisaniu np. artykułu gdy wpiszę kod <dzielnastrony> przy wyświetlaniu tworzy mi stronicowanie (na jednej stronie to co przed <dzielnastrony> a na drugiej to co za nim).
Chciałbym też aby skrypt obsługiwał też kilka wystąpieć <dzielnastrony> (stworzy wtedy kilka podstron).

Zupełnie nie wiem jak się zabrać do tego, więc proszę o pomoc.
krowal
Proste jak drut smile.gif tworzysz sobie taki tekst, zapisujesz go do pliku czy do bazy danych, jak tam już sobie chcesz. potem przy próbie oglądnięcia takiego tekstu najpierw odpowiednio go sobie przetwarzasz. Robisz sobie explode() na tym tekście rozdzielając go wyrażeniem "<dzielnastrony>" - dzięki temu uzyskujesz tablicę z podzielonymi stronami, wiesz też ile ich jest dzięki funkcji count(). Potem sprawdzasz czy został wysłany wcześniej jakiś $_GET['numer_strony'], jeśli nie to wyświetlasz pierwszą stronę, a jeśli tak to wyświetlasz stronę o numerze = $_GET['numer_strony']. A na dole bez względu na wszystko wyświetlasz nawigator do przewijania stron "<< < 1 2 3 4 > >>" - może to być coś takiego. Linki mogą wyglądać w taki sposób
  1. <a href="index.php?doc=artykul&id_artykulu=xxx&numer_strony=1">1</a>
byqu
Jeżeli chciałbyś przez coś takiego to można by to zrobić tak:
  1. <?php
  2. $podstrona = explode("<dzielnastrony>", $niepodzielona_tresc); //zmienna $podstrona[$nr_strony] zwróci tekst na daną stronę
  3.  
  4. echo $podstrona[$nr_strony]; //pamiętaj, że pierwsza wartość tablicy to 0, czyli strona 1 ma wartość 0
  5. echo "Strona: ";
  6.  
  7. $ilosc_stron = count($podstrona);
  8.  
  9. if(isset($_GET['strona']) & ($_GET['strona'] >= $ilosc_stron) != TRUE) { //sprawdzenie czy zmienna $_GET['strona'] istnieje i, czy jest ona mniejsza bądź równa $ilosc_stron
  10. $nr_strony = $_GET['strona'] - 1;
  11. } else {
  12. $nr_strony = 0;
  13. }
  14.  
  15. $i = 0;
  16. while($i <= $podstrona) { //wyświetlenie linków do podstron
  17. $nr = $i + 1;
  18.  
  19. echo "<a href=\"?strona=" . $nr . "\"> " . $nr ." </a>";
  20.  
  21. $i++;
  22. }
  23. ?>

Pisane z palca.
Jak przekazujesz GETem nr strony to prawdziwy ( licz od 1, a nie od 0 ).
zlw
Wielkie dzięki, zaraz będę próbował.

Zupełnie zapomniałem, że można ten tekst podzielić funkcją explode sciana.gif
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.