Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Paginacja, stronnicowanie
kosior11
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

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


mam oto taki skrypt stronnicowania znaleziony gdzieś w internecie:

  1. <?php
  2. include("connect.php");
  3. $start = $_GET['start'];
  4. $na_stronie = 10;
  5.  
  6. $query = "SELECT * FROM zdjecia order by id DESC LIMIT ".($start).",".$na_stronie."";
  7. $result = mysql_query ($query);
  8. while ($row = mysql_fetch_array($result))
  9. {
  10. $naz .= '
  11. <li>
  12. <a href="look.php?id='.$row[0].'"><img class="images" src="photos/'.$row[5].'" ></a>
  13. </li>';
  14. } echo '<ul>'.$naz.'</ul>';
  15.  
  16. $wykonaj=mysql_query("SELECT * FROM zdjecia");
  17. $znaleziono=mysql_num_rows($wykonaj);
  18. if($znaleziono>$na_stronie) {
  19. print '<center>Strona ';
  20. for($i=0; $i<ceil($znaleziono/$na_stronie); $i++)
  21. print '<a href="index.php?start='.($i*$na_stronie).'">'.($i+1).'</a> | ';
  22. }
  23. print '</center>';
  24.  
  25. ?>


Działa prawie dobrze (stronnicowanie jest zrobione prawidłowo), ale jest jedna sprawa której nie mogę rozwiązać, mianowicie:

stronnicowanie mam umieszczone w index.php. Gdy wchodzę na stronę to nie ma wiadomości, wyświetlają się tylko strony 1|2|3 itp. a wiadmości są wyświetlane dopiero po kliknięciu w daną stronę. Jak zrobic żeby newsy były wyświetlane od samego początku, przypuszczam że musze zapisać to tak aby strona 1 = index.php ale nie wiem jak to zrobić?
Go to the top of the page
+Quote Post
xxdrago
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


tak dla ciekawostki zamiast print lepiej stosować echo.

Możesz sobie zrobić np. prostego if'a który sprawdza na której jesteś stronie, jeżeli nie jesteś to cie przekierowuje na strone index.php?strona=1 a jeśli jesteś to po prostu nic nie robi smile.gif Trochę nie eleganckie ale chyba najłatwiejsze do wykonania dla ciebie, można było by się pokusić o dodanie np. defualt ale to już cały skrypt musiał przerabiać.

Kod
if (empty($_GET['strona']))
{
// wykonuje czynnosc
}


Ten post edytował xxdrago 21.02.2012, 14:46:09


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
kosior11
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.03.2011

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


Rozumiem, że odnosząc się do powyższego skryptu ma to wyglądać tak:

  1. if (empty($_GET['start']))
  2. {
  3. $start=0;
  4. }


Ten post edytował kosior11 21.02.2012, 15:22:31
Go to the top of the page
+Quote Post
xxdrago
post
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Można też przekierować stronę w header. w link np. index.php?strona=1


--------------------
GG: 10972302 :)
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: 20.08.2025 - 07:00