Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Drobna modyfikacja stronicowania
artekp999
post
Post #1





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

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


Znalazłem w internecie skrypt stronicowania (jedyny który u mnie działa). Chciałbym jego wygląd zmodyfikować

Obecnie wygląda tak
Strony 1 2 3 itd

Chce aby wyglądało tak

Poprzednia 1 2 3 Następna
Strona 1 z 3

Proszę was o pomoc w zmodyfikowaniu poniższego kodu. Wiem ze to jest pewnie proste , ale ja dopiero uczę się podstaw PHP

  1. <?php
  2. include("polacz.php");
  3. $start = $_GET['start'];
  4. $na_stronie = 5;
  5. $query = "SELECT * FROM news LIMIT ".($start).",".$na_stronie."";
  6. $result = mysql_query ($query);
  7. while ($row = mysql_fetch_array($result))
  8. {
  9. //Wyświetlamy wpisy
  10. }
  11. $query = mysql_query("SELECT * FROM news order by id desc LIMIT ".($start).",".$na_stronie."");
  12. while($rekord = mysql_fetch_array($query))
  13. {
  14. $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>';
  15. }
  16. echo '<li>'.$naz.'</li>';
  17. $wykonaj=mysql_query("SELECT * FROM news");
  18. $znaleziono=mysql_num_rows($wykonaj);
  19. if($znaleziono>$na_stronie) {
  20. print '<center>Strona ';
  21. for($i=0; $i<ceil($znaleziono/$na_stronie); $i++)
  22. print '<a href="start.php?start='.($i*$na_stronie).'">'.($i+1).'</a> | ';
  23. }
  24. print '</center>';
  25. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To ja tylko napiszę JAK zrobić prosto stronicowanie:
1. Bierzesz liczbę wyników i ilość wyników na strone oraz dzielisz równając do najbliższej większej lub równej całkowitej (ceil), to liczba stron, czyli $pages. Lepiej ją raz wyliczyć i trzymać niż co chwilę liczyć (IMG:style_emoticons/default/wink.gif)
2. Bierzesz i sprawdzasz czy numer strony istnieje i jest liczbą.
3. Jeśli nie to ustawiasz 1, jeśli tak to:
3a) Sprawdź czy jest większy niż liczba stron, jeśli tak to zrób przekierowanie na stronę ostatnią lub na pałę wpisz $page = $pages
3b) Sprawdź czy jest mniejsza niż 1, jeśli tak to zrób przekierowanie na stronę 1 lub na pałę wpisz $page = 1
4. Od strony 1 do $pages walnij linki a pod spodem napis
echo $page.' z '.$pages;

Wariacje są różne teraz już. Przykładowo nie wszystkie strony, ale po kilka z każdej strony aktualnej. Można torozwiązać poprze wyliczenie $start i $end dla pętli wypisującej strony. Można także dorzucić linki: Pierwsza, Poprzednia jeśli jesteśmy na stronie innej niż pierwsza albo Następna, Ostatnia gdy jesteśmy na innej niż ostatnia. Napisanie samemu takiego czegoś to kwestia może pół godziny jeśli chcemy to "wybajerzyć" o obsługę SEO-friendly linkó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: 13.10.2025 - 05:42