Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Stronicowanie newsów
artekp999
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


Wiem ze było pewnie to tysiące razy ale nie umiem tego zrobic na moim przykładzie.Stworzyłem swój system newsów oparty o bazę MySql. Chciałbym dodać do niego stronicowanie ale ciągle wyskakują jakieś błędy i stronicowanie nie działa.

nowe.php - plik wyświetlające newsy
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select * from news order by id desc limit 0,5");
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. $naz .= '<a href="news.php?id='.$rekord[0].'"><div id="TYTUL">'.$rekord[1].'</div></a><div id="AUTOR"> Autor: <b>'.$rekord[3].'</b> - '.$rekord[2].'</div><div id="TRESC">'.$rekord[4].'</div><br>';
  7. }
  8. echo '<ul>'.$naz.'</ul>';
  9. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

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


Niestety, musimy zacząć od "doszkolenia" w zakresie HTML:
Znaczniki '<ul>' ... '</ul>' - to początek i koniec całej listy.
Każdą pozycję listy trzeba natomiast ująć w <li> ... </li>.

Wracamy na grunt PHP:
1. W pętli zrób $naz = ... (a nie .=).
2. W instrukcji:
echo '<ul>'.$naz.'</ul>';
zmień ul na li.
3. Ta instrukcja musi być wewnątrz pętli while (a nie po niej).
4. Znaczniki <ul> i </ul> - też muszą być, ale - odpowiednio - przed pętlą while i po niej.
W ten sposób dostajesz pojedynczą stronę news'ów.

Samo stronicowanie polega właściwie na odpowiednim manipulowaniu wartościami związanymi z frazą LIMIT (którą porcję rekordów pobierasz z bazy i wyświetlasz).
Skrypt musi wiedzieć, która (w tym przypadku) piątka rekordów jest na obecnej stronie.
Przejście na poprzednią stronę - to "sięgnij poprzednią piątkę".
Przejście na następną stronę - "sięgnij następną".

Ten post edytował Valdi_B 25.02.2011, 21:02:22
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: 7.10.2025 - 13:29