Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak zrobic stronnicowanie artykułów?
lamcpp
post 10.11.2010, 09:46:44
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
rocktech.pl
post 10.11.2010, 10:31:47
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


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.


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
lamcpp
post 11.11.2010, 09:22:35
Post #3





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


a jakis przykład kodu z dzieleniem tekstu na: <!-- pagebreak -->
Go to the top of the page
+Quote Post
CuteOne
post 11.11.2010, 10:04:08
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


  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. }


Ten post edytował CuteOne 11.11.2010, 10:13:47
Go to the top of the page
+Quote Post
lamcpp
post 11.11.2010, 12:20:08
Post #5





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


coś ten kod nie bardzo chce działać, czy ktos moze wie dlaczego?
Go to the top of the page
+Quote Post
moto0095
post 11.11.2010, 13:22:31
Post #6





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował moto0095 11.11.2010, 13:25:44
Go to the top of the page
+Quote Post
CuteOne
post 12.11.2010, 04:39:27
Post #7





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:16