Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie rekordów
Forum PHP.pl > Forum > Przedszkole
mat@omega
Witam serdecznie.

Mam pewien z pewnością droby problem.
W jaki sposób w php zrobić, aby np baza danych która posiada np. 20 000 rekordów podzielić na częsci np. 20, a użytkownik sam mógł zadecydować którą część rekordów chce zobaczyć. Chodzi mi o coś takiego jak jest np. na tym forum

Wszystkie posty podzielone są na mniejsze grupy po ileś tam postów. Jeśli chcemy zobaczyć starsze posty to klikamy na kolejną zakładkę. Oczywiście skrypt automatycznie dzieli posty.


Mam nadzieje, że wyjaśniłem o co chodzi.

To o co mi chodzi widać np. na tym forum na dole (1,2,3,4,5,6...) jeśli chcemy zobaczyć starsze posty niż powiecmy 40 ostatnich to klikamy na 2 jeśli chcemy zobaczyć 40 jeszcze wcześnijeszych postów to 3 itd.

Bardzo chciałbym cos takiego zrobić ponieważ zrobiłem licznik IP do strony i na kilku stronach przekracza już ilość 20 000 jak sami doskonale rozumiecie zobaczenie tej listy to wczytanie 20 000 rekordów, a trochę się to wczytuje. Chciałbym aby skrypt wyświetlił np 100 ostatnich rekordów, a w razie potrzeby użytkownik, aby mógł zobaczyć starsze rekordy, które będą podzielone w grupy np. po 100 rekordów.

Z góry dziękuję za pomoc
POZDRAWIAM
mike
Wpisz w wyszukiwarce sortowanie (bądź porcjowanie) i dostanisz mnóstwo tematów poruszających ten problem.
Przykładów roziązań też znajdziesz wiele.
bronx
użyj w zapytaniu parametru LIMIT
jacknn
mniej więcej tak to robisz:

  1. <?php
  2.  
  3. $ile = 5; // tu okreslasz ile rekordow ma być na stronie
  4. $page = trim($_GET['page']); // zmienna potrzebna do wybrania odpowiedniej podstrony
  5. list($wszystkich)=mysql_fetch_row(mysql_db_query("stolkar","SELECT count(*) FROM tabela")); // wyliczamy liczbę rekordów dla danej tabeli
  6. $podstron=ceil($wszystkich/$ile); // wyliczamy liczbę podstron
  7.  
  8. // to poniżej to poprostu dodawanie przycisków w postaci następna poprzednie, to a
    kurat przypadkowy kod, możesz zmieniać dowolnie
  9. echo "<br>';
  10. if ($page>0) echo "<center> [<a href=produkty.php?page=".($page-1)."><b>&laquo;</b> poprzednie</a>]"; else
  11. echo "<center>"; 
  12. if ($page<$podstron-1) echo "[<a href=produkty.php?page=".($page+1).">następne <b>&raquo;</b></a>]</center>";
  13. else echo "";
  14. echo "<br>";
  15.  
  16. $sql = "SELECT * FROM tabela LIMIT ".($page*$ile).",".$ile."; // teraz konkretne zapytanie do bazy z limitem
  17.  
  18. // to poniżej to normalne wyświetlanie danych z tabeli za pomocą pętli while
  19. $query = mysql_query($sql); 
  20. while($rekord= mysql_fetch_array($query)) {
  21. echo "".$rekord['costam']."";
  22. }
  23.  
  24. ?>
mat@omega
Postaram się sprawdzić ten skrypt. Bóg zapłać dobry człowieku smile.gif

POZDRAWIAM !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.