Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie posortowane wg zsumowanych pol
MalyKazio
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam.

Probuję stworzyć coś w rodzaju rankingu psów.
Mam tabele wyglądającą w skrócie tak:
Ranking
[id] [wystawa] [pies] [punkty]

W takiej tabelce sa rekordy, każdy pies ma ich sporo bo za każdą wystawę przybywa jeden.
Chodzi mi o takie cudo: Jak zrobić aby wyświetlić psy w wg zsumowanej wartosci pola punkty (malejąco) dla kazdego psa.
Bardziej obrazowo:

Mamy dwa psy, pies 1 i 2. Psy te braly udzial w dwoch wystawach, pies 1 z pierwszej ma 3 pkt a z drugiej 5 a pies drugi z pierwszej 5 a z drugiej 8. Jak zrobić by wyświetlić je tak:
nazwa psa 2 - 13 punktow
nazwa psa 1 - 8 punktow
Chodzi mi o metodę a nie o gotowy kod... kod jakoś sam napiszę. Doradźcie tylko proszę jakie środki wykorzystać, ewentualnie jakie komendy bo sam sobie poradzić nie mogę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MalyKazio
post
Post #2





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Dziękuje za pomoc, wszystko działa jak należy. To właśnie jest to o co mi chodziło. Jednocześnie przepraszam za dopytywanie się bez sprawdzenia. To nie wynik lenistwa tylko po prostu braku regularnego dostępu do komputera gdzie mógłbym to wszystko przestestować. Dlatego tak cenne są dla mnie trafne podpowiedzi.
Jeszcze raz dziękuję.

Edycja:
Kod wyswietla mi wszystko jak należy. Rankig jest stworzony w porządku. Natrafiłem tylko na jeden problem. Jako, że to ma być ranking więc miejsca są ponumerowane. Zdarza się tak, że niektóre psiaki mają tyle samo punktów, więc powinny mieć tą samą lokatę a nie kolejną. Da się to jakoś zrobić? Kod wygląda tak:
  1. <?php
  2.  
  3. $link = mysql_connect("localhost", "root", "") or die ("Nie mo+na siŕ poŚŚczyŠ");
  4. mysql_select_db ("swieczkos") or die ("Nie mozna wybraŠ bazy danych");
  5.  
  6. $i=1;
  7. $query = "SELECT pies,sum(punkty) as punkty FROM ranking GROUP BY pies ORDER BY punkty DESC";
  8. $wynik = mysql_query($query);
  9. while ($row = mysql_fetch_assoc($wynik)) {
  10. echo "$i $row[pies] $row[punkty]<br>";
  11. $i++;
  12. }
  13. mysql_close($link);
  14.  
  15. ?>


Ten post edytował MalyKazio 10.12.2005, 22:31:21
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: 24.12.2025 - 11:33