![]() |
![]() ![]() |
![]() |
![]()
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ę. -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
O ile dobrze zrozumiałem, wystarczy po prostu:
o to chodziło? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wystarczy bo kazdy kazda wystawa, z udzialem danego psa to osobny wiersz i tym samym za kazda wystawe sa osobne punkty. Chodzi o to zeby podsumowac punkty z kilku wierszy i sortowac wg podsumowanej juz liczby punktow.
-------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Aha
![]() No to potem ładujesz wyniku do tablicy, jeśli już taki pies wystąpił - dodajesz do $psy['pies']['punkty'] wynik; jeśli nie - tworzysz $psy[$pies]... -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 24.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bez sensu.
Zastosuj COUNT(punkty) i konstrukcję GROUP BY |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 1.12.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
-------------------- MySQL said:
You have an error in your SQL syntax near ' `sygnatura` VARCHAR, NOT NULL |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
No tak, fajne zapytanie ale mam pytanie: czy nie zsumuje ono wszystkich wartosci pola punkty, dla wszystkich wierszy (czyli dla wszystkich psow)?
Chodzi mi o to: Jest tak: pies1 20pkt pies2 30 pkt pies1 10 pkt pies3 40 pkt pies1 40pkt i zeby wybrac wszystkie psy czyli pies1, pies2 i pies3 i jednoczesnie zsumowac wartosci punktow, zeby wyszlo takie cos: pies1 70pkt pies3 40pkt pies2 30pkt, czyli posortowac wyniki malejaco? A moze sie myle i zapytanie podane przez Synapsa wlasnie tak zadziala, ze wybiera psa i liczy punkty wszedzie gdzie jest ten pies? Ten post edytował MalyKazio 6.12.2005, 10:52:32 -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat(MalyKazio @ 2005-12-06 10:51:25) A moze sie myle i zapytanie podane przez Synapsa wlasnie tak zadziala, ze wybiera psa i liczy punkty wszedzie gdzie jest ten pies? A moze wykazalbys odrobine inicjatywy i sprawdzil to co podaja Ci ludzie zanim cokolwiek napiszesz ? -------------------- Brak czasu :/
|
|
|
![]()
Post
#9
|
|
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:
Ten post edytował MalyKazio 10.12.2005, 22:31:21 -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 20:47 |