Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Stronicowanie :(
-Kamylexo-
post
Post #1





Goście







Witam napisałem własny skrypt na wyświetlanie rekordów z bazy danych:
  1. <?php
  2. //30 ostatnich śmierci na serwerze
  3.  $sql = mysql_connect($db_host, $db_username, $db_password);
  4.  mysql_select_db($db_name);
  5.  
  6.  $zapytanie = mysql_query("SELECT * FROM deathlist LIMIT 30");
  7.  
  8.  if(mysql_num_rows($zapytanie) > "0") {
  9. while($wiersz = mysql_fetch_row($zapytanie)) {
  10.  echo "$wiersz[4] - <b>$wiersz[0]</b>: Zabity przez $wiersz[1] na $wiersz[3] levelu.";
  11. }
  12.  }
  13. else {
  14.  echo "Lista śmierci jest pusta."; }
  15.  mysql_close($sql);
  16. ?>


Ale jak podpiąć do tego stronicowanie, czytałem pełno poradników ale nie kumam tego :/ w tym skrypcie jest limit do 30 najnowszych rekordów, ale możecie to zmienić. Chcę tylko by ktoś podpiął pod to te głupie stronicowanie.:] Może wtedy lookne co zrobił i skumam jak to się robi (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Z góry thx i pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
nithajasz
post
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


http://forum.php.pl/index.php?showtopic=35...0&start=140

Masz fajną klase pagera z przykładami w temacie jak tego użyć.
Go to the top of the page
+Quote Post
-Kamylexo-
post
Post #3





Goście







Ehh przeczytałem i..., ...dalej nie kumam ;/
No weś mi ktoś pomóż ^^
Go to the top of the page
+Quote Post
rzymek01
post
Post #4





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


nie będę pisał gotowca (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

robisz tak:
// używamy zmiennej $_GET['page'] (chyba wiesz co zawiera.... nr strony jak coś)
// oraz stałej PERPAGE (która np może wynosić 10, czyli 10 rekordów na stronę)

1. Na początku filtrujesz zmienną $_GET['page'], czy jest liczbą i takie tam
2. potem mnożysz PERPAGE i $_GET['page'] i przypisujesz np do $temp i wychodzi ci od którego wpisu trzeba jechać
3. i w zapytaniu używasz LIMIT $temp, PERPAGE (nie zapomnij dobrać apostrofów)
4. i po wsyzstkim tworzysz linki do następnej strony typu ...href="?page='.($_GET['page']+1).'"... i poprzedniej itd itd.
Go to the top of the page
+Quote Post
-Kamylexo-
post
Post #5





Goście







eee nie wychodzi mi ;/
Go to the top of the page
+Quote Post
Spykaj
post
Post #6





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 30.05.2008
Skąd: Białystok

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


To smutne (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował batman 17.06.2008, 09:51:27
Powód edycji: Smutne jest to, że za następny taki post dostaniesz warna!
Go to the top of the page
+Quote Post
nithajasz
post
Post #7





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


  1. <?php
  2. function nawigacja($od, $na_stronie, $lacznie, $link, $wstecz, $dalej, $rozdzielacz) 
  3. { 
  4. $nawigacja=""; 
  5.  
  6. if($od>0) $nawigacja.="<A Href=\"$link&od=". ($od-$na_stronie) ."\">$wstecz</A>$rozdzielacz"; 
  7. $stron=ceil($lacznie/$na_stronie); 
  8. if($stron>1) 
  9. { 
  10. for($strona=0; $strona<$stron; $strona++) 
  11. { 
  12. if($strona<|| $strona>=$stron-|| ($strona>=($od/$na_stronie)-&& $strona<=($od/$na_stronie)+1)) 
  13. { 
  14. if($strona==($od/$na_stronie)) $nawigacja.=" [". ($strona+1) ."] "; 
  15. else $nawigacja.=" <A Href=\"$link&od=". ($strona*$na_stronie) ."\">". ($strona+1) ."</A> "; 
  16. } 
  17. else $nawigacja.="."; 
  18. }  
  19. $nawigacja=ereg_replace("[.]+", "...", $nawigacja); 
  20. } 
  21. if($lacznie>$od+$na_stronie) $nawigacja.="$rozdzielacz<A Href=\"$link&od=". ($od+$na_stronie) ."\">$dalej</A>"; 
  22.  
  23. return $nawigacja; 
  24. }
  25. ?>


nawigacja($od, $na_stronie, $lacznie, $link, $wstecz, $dalej, $rozdzielacz)

$od - od którego wyniku zaczynamy wyświetlanie
$na_stronie - ile wyników na stronie
$lacznie - ile łącznie wyników
$link - jaki adres (z dołączonym &od=*) ma być dla każdego linka do strony
$wstecz - co jest w napisie linku, odnoszącego do poprzedniej strony
$dalej - co jest w napisie linku, odnoszącego do następnej strony
$rozdzielacz - kod HTML, rozdzielający przyciski "Wstecz", "Dalej" i numery stron (np. 1 2 3 ... 17 [18] 19 ... 24 25 26).

Znalezione na google..

Ten post edytował nithajasz 16.06.2008, 23:33:42
Go to the top of the page
+Quote Post
-Kamylexo-
post
Post #8





Goście







OMG mądrzy to wy nie jesteście..(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Ten post edytował batman 17.06.2008, 17:03:29
Powód edycji: Drogi -Kamylexo-, za takie posty zamyka się tematy. Więc okaż odrobinę wdzięczności, że ktoś Ci odpowiedział.
Go to the top of the page
+Quote Post
nithajasz
post
Post #9





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


Skoro jesteś mądrzejszy to czemu nas prosisz o pomoc? Bez sens.

Co Ty chcesz dokładnie zrobić?
Go to the top of the page
+Quote Post
trucksweb
post
Post #10





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


tu masz rozwiazanie, ktore chyba bedzie najlepsze. Moja funkcja do paginacji, bardzo prosta i dzialajaca (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Temat: Paginacja wynikow light
Go to the top of the page
+Quote Post
sebekzosw
post
Post #11





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Zobacz to:

  1. <?php
  2. $sql = mysql_connect($db_host, $db_username, $db_password);
  3. mysql_select_db($db_name);
  4.  
  5. $display = 30;
  6.  
  7. if (isset($_GET['np'])) {
  8. $num_pages = $_GET['np'];
  9. } else {
  10. $row = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM deathlist"), MYSQL_NUM);
  11. $num_records = $row[0];
  12.  
  13. if ($num_records > $display) {
  14. $num_pages = ceil ($num_records/$display);
  15. } else {
  16. $num_pages = 1;
  17. }
  18. }
  19.  
  20. if (isset($_GET['s'])) {
  21. $start = $_GET['s'];
  22. } else {
  23. $start = 0;
  24. }
  25.  
  26. $result = mysql_query("SELECT * FROM deathlist LIMIT $start, $display");
  27.  
  28. if(mysql_num_rows($result) > "0") {
  29. while($wiersz = mysql_fetch_row($result)) {
  30.  echo "$wiersz[4] - <b>$wiersz[0]</b>: Zabity przez $wiersz[1] na $wiersz[3] levelu.";
  31. }
  32.  } else {
  33.  echo "Lista śmierci jest pusta."; 
  34.  }
  35.  
  36. if ($num_pages > 1) {
  37.  echo "<center><br />";
  38.  
  39. $current_page = ($start/$display) + 1;
  40.  
  41. if ($current_page != 1) {
  42.  echo '<a href="lista_smierci.php?s=' . ($start - $display) . '&np=' . $num_pages . '">Poprzednia</a> ';
  43. }
  44.  
  45. for ($i = 1; $i <= $num_pages; $i++) {
  46. if ($i != $current_page) {
  47. echo '<a href="lista_smierci.php?s=' . (($display * ($i - 1))) . '&np=' . $num_pages . '">' . $i . '</a> ';
  48. } else {
  49. echo "<b>".$i."</b>" . ' ';
  50. }
  51. }
  52.  
  53. if ($current_page != $num_pages) {
  54. echo '<a href="lista_smierci.php?s=' . ($start + $display) . '&np=' . $num_pages . '">Następna</a>';
  55. }
  56.  
  57. echo '</center>';
  58. }
  59.  
  60. ?>


Powinno działać (jak by nie działało zobacz to: http://www.webmasterworld.com/forum88/11585.htm) - powiedz jakie błędy Ci wyskakują ;-)

Dodam, że mi to działa ;-)

Ten post edytował sebekzosw 17.06.2008, 09:53:20
Go to the top of the page
+Quote Post
-Kamylexo-
post
Post #12





Goście







bardzo dziękuje! Dorobiłem zmienne i działa teraz mogę stosować to di wszystkiego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Wyskakuje mi "Lista śmierci jest pusta." ale to dlatego że nie mam narazie rekordów ;]
A przy okazji mogę ci zadać jeszcze jedno pytanie ;D.
Jak zrobić takie coś ( przykładowa strona)
http://tibia.pl/itemslist/shield
Tam jest lista i Pisze coś takiego w nagłówkach tabeli:
Nazwa Obrona Waga
I można kliknąć i segreguje (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) A jak coś takiego zrobić pod mysql?
Go to the top of the page
+Quote Post
Shili
post
Post #13





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Zapoznaj się z sqlowym ORDER BY
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 - 08:45