Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]paginacja puste strony
cer98
post
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 17.07.2011

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


Mam taki kod:
  1. <?php
  2.  
  3.  
  4.  
  5. $page = ( int ) $page; if ( !isset ( $page ) or empty ( $page )) { $page = 1; }
  6.  
  7.  
  8.  
  9. $w_pp = 5; // Ile wynikow na stronie
  10.  
  11. $r = $rows % $w_pp;
  12.  
  13. $a = $rows - $r;
  14.  
  15. $lpages = $a / $w_pp;
  16.  
  17. $lpages ++;
  18.  
  19. $start = $page * $w_pp - $w_pp;
  20.  
  21. $limit = $w_pp;
  22.  
  23. $pages_str = '';
  24.  
  25. $pages_str .= '<p>';
  26.  
  27. $pages_str .= ' stron: '.$lpages.', strony: ';
  28.  
  29.  
  30.  
  31. for ( $i=1; $i <= $lpages; $i++ ) {
  32.  
  33. if ($i == $page) $pages_str .= ''.$i.'';
  34.  
  35. if ($i != $page) $pages_str .= ' <a href="adres.php?page='.$i.'">'.$i.'</a> ';
  36.  
  37. };
  38.  
  39.  
  40.  
  41. $pages_str .= '</p>';
  42.  
  43.  
  44.  
  45. $pages .= $pages_str;
  46.  
  47. ?>


Mam taki kod, ale jak mam wyników 5, a limit na 5 to wtedy pojawiają się 2 strony. Na pierwszej jest 5 wyników, a w drugiej jest pusto. Jak zapobiec temu, aby nie otrzymywać pustych stron? Jak dopisać następna, poprzednia, nie mówiąc o "... 100 120"?

Ten post edytował cer98 2.05.2012, 20:35:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kontur
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 6
Dołączył: 3.04.2012

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


moze tak:

$ilosc_stron= ceil($ilosc_wynikow/$ilosc_wyswietlanych_wynikow);

ceil zwraca pierwsza mozliwa liczbe calkowita wieksza od wartosci podanej jako argument. Jesli wiec masz np 6 wynikow a na stronie chcesz wyswietlic 5 to ceil(6/5) zwroci Ci 2, czyli potrzebujesz uutworzyc 2 stronki a jak wynikow masz 5 to ceil(5/5)=1 czyli tworzysz jedna strone.

Ten post edytował kontur 2.05.2012, 21:59:22
Go to the top of the page
+Quote Post
cer98
post
Post #3





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 17.07.2011

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


Poprawiłem, jednak później i tak liczba strona jest inkrementowana

  1. $lpages ++;
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 Aktualny czas: 21.08.2025 - 16:14