Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Stronnicowanie
marcin0077
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


Witam

Mam taki kod:

  1. $obecna = $_GET['strona'];
  2. $promien = 5;
  3. $wykonaj = mysql_query("SELECT * FROM argue WHERE waiting = '0'");
  4. $max=mysql_num_rows($wykonaj)/5;
  5.  
  6.  
  7. for($i=$obecna-$promien; $i<$obecna+$promien; $i++) {
  8. if($i<1 || $i>$max)
  9. continue;
  10. $addClass = ($obecna == $i) ? '_obecna' : '';
  11. echo '<a class="strona'.$addClass.'" href="page/'.$i.'">'.$i.'</a>';
  12. }


Wygląda to tak: jeśli mam 5 postów to pokaże 1 stronę, jeśli 10 - 2, jeśli 15 - 3 strony ale jeśli mam np 11,12,13,14 postów to nadal pokazuje 2 strony a powinny być 3 (5+5+x). Nie bierze reszty z dzielenia pod uwagę. Tylko jak ukaże się 5 postów to wtedy pojawi się kolejna strona.

Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Taka drobna uwaga:
Cytat
$wykonaj = mysql_query("SELECT * FROM argue WHERE waiting = '0'");
$max=mysql_num_rows($wykonaj)/5;

Wiesz co ten kod robi? Ten kod pobiera z bazy milion rekordów tylko po to, by policzyć ile ich jest. Totalnie nieoptymalne.
Liczenie rekordów pozostawia się bazie poprzez konkstrukcję:
select count(*) from tabela

Poczytaj o stronicowaniu, masa tego na forum, może nabierzesz lepszych nawyków.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 02:07