Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zrobic stronnicowanie artykułów?
Forum PHP.pl > Forum > Przedszkole
lamcpp
Mam stronę ze stałą wysokoscią okresloną na 3000 px. Na stronie są umieszczane długie artykuły, chciałbym aby w przypadku gdy artykuł przekroczy 3000 px, by pojawiało sie na dole stronnicowanie, tak by użytkownik mógł zobaczyc dalszą czesc artykułu. Jak takie cos zrobic?
rocktech.pl
JavaScript.
Dzielisz tekst na odpowiednią liczbę znaków lub wstawiasz w każdy tekst np. <!-- pagebreak --> i parsujesz wedle tego wzorca. A potem podzielone fragmenty ubierasz w divy i wyświetlasz tylko pierwszy. Pozostaje tylko kwestia wyświetlenia i nawigacji.
Jeżeli używasz jquerry czy prototype (jeżeli prototype to napisz mam gotowy kod) to jakaś wtyczka ala to albo własne rozwiązanie.
lamcpp
a jakis przykład kodu z dzieleniem tekstu na: <!-- pagebreak -->
CuteOne
  1.  
  2. $nr = (!$_GET['page']) ? 0 : $_GET['page'];//nr strony aktualnie przeglądanej
  3. $nr++;
  4.  
  5. $text = "hfeufh hfuiehf hfrueikw<!-- pagebreak -->jerwj hfrei rehfieg<!-- pagebreak -->jfreiog";
  6.  
  7. $exp = explode('<!-- pagebreak -->', $text);
  8.  
  9. $count = count($exp);
  10.  
  11. $max = 3; //maxymalna ilość bagebreakow na stronę
  12.  
  13. if($count > 6 && ($nr*$max) < $count) { // jeżeli pagebreaków jest więcej niż 6 i nr strony * ilosc pagebreakow na stronę jest mniejsza od pagebreakow w tekście
  14.  
  15. $nowy_tekst = '';
  16.  
  17. for($i=$nr;$i<$nr*$max; $++) {
  18.  
  19. if(!empty($exp[$i]) {
  20.  
  21. $nowy_tekst .= $exp[$i];
  22. }
  23. }
  24.  
  25. // tu wstaw paginację
  26. }
  27. else {
  28. $nowy_text = $text; //zwraca stary tekst
  29. $page = 1; // zwraca ilość stron
  30. }
lamcpp
coś ten kod nie bardzo chce działać, czy ktos moze wie dlaczego?
moto0095
Ja kiedyś napisałem dla własnych potrzeb takie coś :
  1. $text = "jeden dwa trzy cztery"; //treść do paginacji
  2. $ins = 2; // ilość słów na stronie
  3. $page = !isset($_GET['page']) ? 0 : $_GET['page']-1;
  4. $start = $page*$ins;
  5. $text = explode(" ", $text); // oczywiście tutaj " " możesz zamienić na co chcesz :)
  6.  
  7. $iw = count($text);
  8. $stron = round($iw/$ins);
  9.  
  10. for($i=$start; $i<$ins+$start; $i++) {
  11. echo $text[$i]." ";
  12. }
  13.  
  14. for($i=0; $i<$stron; $i++) {
  15. echo "<a href=\"?page=".($i+1)."\">".($i+1)."</a>";
  16. }
CuteOne
lamcpp:: ale to nie ma działać... napisałem jedynie przykład jak to może wyglądać. przeanalizuj i przepisz tak jak być powinno
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.