Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
Ulysess
post
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


wpierw dajesz zapytanie które zliczy wszystkie rekordy interesujące Ciebie.
Następnie dajesz zapytanie w którym w LIMICIe jako pierwszy argument podajesz od którego rekordu ma pobierać czyli $strona*wynikow_na_stronie a jako drugi argument ilosc_pobieranych_rekordow.
Pisałem z głowy więc mogłem coś pominąć..
Go to the top of the page
+Quote Post
artekp999
post
Post #3





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

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


a możesz to przedstawić za pomocą kodu bo zbytnio nie rozumiem
Go to the top of the page
+Quote Post
Ulysess
post
Post #4





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


  1. $str = abs($_GET['str']);
  2. $wns = 10;
  3. $query = mysql_query("select `id` from `news` order by `id`");
  4. $ilosc_rekordow = mysql_num_rows($query);
  5. $o = ceil($wns*$str);
  6. $q = mysql_query("select * from `news` order by `id` desc limit '".$o."','".$wns."'");
  7.  
  8. // petla w ktorej wyswietlasz dane
  9.  
Go to the top of the page
+Quote Post
Valdi_B
post
Post #5





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
artekp999
post
Post #6





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

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


Dalej mi nie działa. Chyba będę musiał zrezygnować ze stronicowania
Go to the top of the page
+Quote Post
Valdi_B
post
Post #7





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

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


Nie poddawaj się tak łatwo.
Zapuść w Google szukanie na "php stronicowanie".
Pierwszy link, który mi z takiego wyszukanie wyszedł to:
http://www.webmastertalk.pl/-php-mysql-str...anie-t-297.html
i zawiera przykład. Jak twierdzi autor - krótki (i ma rację).
Oprócz tego Google wyszuka Ci gromadę innych przykładów / opisów / instrukcji.
Go to the top of the page
+Quote Post
artekp999
post
Post #8





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

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


muszę bardziej podszkolić się w PHP i MySql (IMG:style_emoticons/default/biggrin.gif) spróbuje z tym przykładem

Edit:
Ja ciągle musze robić w czymś błąd , kazdy skrypt stronicowania co wezmę to błąd albo nie chce działac.

Zmodyfikujcie kod stronicowania do mojego systemu newsow

Ten post edytował artekp999 25.02.2011, 21:49:34
Go to the top of the page
+Quote Post
nekomata
post
Post #9





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Cytat(artekp999 @ 25.02.2011, 22:34:36 ) *
Zmodyfikujcie kod stronicowania do mojego systemu newsow

A może frytki do tego?Serio tutaj się POMAGA a nie odwala za kogoś brudną robotę , poza tym co z ciebie będzie za admin jak nie będziesz wiedział jak działa twoja własna strona?Bo nie uwierzę w to że będziesz się nad tym zastanawiał po otrzymaniu działającego kodu.Wolontariat w innym dziale.
Go to the top of the page
+Quote Post
artekp999
post
Post #10





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

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


mi nie chodzi o to zeby szukac kogoś kto zrobi mi kod a ja tylko go skopiuje. Mi chodzi żeby mi ktoś wytłumaczył to na moim przykładzie.

TEMAT DO ZAMKNIĘCIA
Poradziłem sobie sam z kodem. Za każdym razem pomijałem jedną rzecz i temu nie działało.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 14:59