Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie rekordów
mat@omega
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 16.06.2005

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


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.
Go to the top of the page
+Quote Post
bronx
post
Post #3





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


użyj w zapytaniu parametru LIMIT
Go to the top of the page
+Quote Post
jacknn
post
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 10.02.2005

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


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. ?>


Ten post edytował jacknn 21.02.2006, 07:18:09
Go to the top of the page
+Quote Post
mat@omega
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 16.06.2005

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


Postaram się sprawdzić ten skrypt. Bóg zapłać dobry człowieku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

POZDRAWIAM !
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: 24.08.2025 - 01:01