[SQL/PHP] Sortowanie odczytanych z bazy wyników

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Majzer
Posty: 17
Rejestracja: sob wrz 10, 2005 11:00 pm

[SQL/PHP] Sortowanie odczytanych z bazy wyników

Post autor: Majzer »

W bazie danych mam listę postów na forum.
I teraz chciałbym zrobić listę TOP5 najwięcej postujących, ale o tym kto ma ile postów dowiaduję się po wywołaniu dla każdego użytkownika zapytania i uzycia funkcji mysql_num_rows(); i teraz jak zrobić, aby te dane odczytane zostały posortowane od największego do najmniejszego? Bo tak to będę miał tylko listę wszsytkich użytkowników z ich liczbą postów, nieposortowaną.

Prosiłbym o radę.
Stig
Administrator
Posty: 938
Rejestracja: pn paź 04, 2004 10:52 am

Re: [SQL/PHP] Sortowanie odczytanych z bazy wyników

Post autor: Stig »

Aby zastosować malejący porządek sortowania należy w zapytaniu SQL użyć słowa kluczowego DESC. Przykład:
[sql]SELECT kolumna FROM tabela ORDER BY kolumna DESC;[/sql]
Ten temat był już na forum poruszany.
Majzer
Posty: 17
Rejestracja: sob wrz 10, 2005 11:00 pm

Re: [SQL/PHP] Sortowanie odczytanych z bazy wyników

Post autor: Majzer »

Wiem, ale nie oto mi chodzi.

Podałeś mi kod do zapytania z bazy kiedy te dane zliczone znajdują się w bazie.

Ale gdy one się nie znajdują, tzn. np jest 20 rekordów postów, z tego 5 napisał użytkownik załóżmy "xyz", ale o tym ile on napisał nie mam zapisane w rekordzie bazy w jego danych tylko dowiem się o tym po wywołaniu zapytanie:

[php]
$sql= mysql_query("SELECT * FROM `forum_posty` WHERE `user_id` = 'xyz'");
$ile=mysql_num_rows($sql);
[/php]

I teraz jak zrobie takię zapytanie w pętli dla np 10 użytkowników to wyświetli mi się nieposortowana lista: użytkownik i jego posty.

I teraz jak tą listę posortować od największego do najmniejszego?[/sql]
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: [SQL/PHP] Sortowanie odczytanych z bazy wyników

Post autor: viraptor »

[sql]SELECT user_id, COUNT(user_id) AS cnt FROM 'forum_posty' GROUP BY user_id ORDER BY cnt DESC[/sql]
Majzer
Posty: 17
Rejestracja: sob wrz 10, 2005 11:00 pm

Re: [SQL/PHP] Sortowanie odczytanych z bazy wyników

Post autor: Majzer »

Wielkie dzięki! Oto mi właśnie chodziło! :-D
ODPOWIEDZ