![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 24.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mam problem z dokładnym posortowaniem danych w tabeli piłkarskiej. W bazie danych mam tabele 'tabela' z kolumnami 'klub', 'mecze' (czyli ilosc rozegranych meczy), 'punkty', 'strzelone' (bramki), 'stracone' (tez bramki), 'roznica' (rowniez bramek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). I teraz sortuje dane tak jak to powinno byc:
I wszystko jest w porządku, ale jesli okaze się ze dwie lub wiecej druzyn ma tyle samo punktow, taka sama roznice bramek i tyle samo straconych i strzelonych, to trzeba sortować według bezpośrednich spotkań. Nie bardzo wiem jak to zrobić. Wymyslilem sobie ze utworze tabele 'wyniki' z kolumnami meczID, klub1, klub2, wynik1 (bramki klubu1 w danym meczu), wynik2 (bramki klubu2) i bede tu zapisywal wyniki kazdego meczu. No i można by tą tabele jakoś wykorzystać ale nie wiem jak (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) Trzeba wziąć pod uwage mecz jakiś dwóch drużyn i rewanż (chyba że rewanż nie został jeszcze rozegrany to pod uwage trzeba brać tylko pierwszy mecz). Jak byście mieli jakiś pomysł to piszcie. Z góry dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Janek111 30.01.2006, 10:40:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 31.01.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ja zrobiłem coś takiego w php.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 24.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
No ja też robie w php, ale wykorzystuje baze danych:) Trzeba stworzyć jakieś połączenie między 2 tabelami napewno.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Janek111 @ 2006-01-31 16:43:02) No ja też robie w php, ale wykorzystuje baze danych:) Trzeba stworzyć jakieś połączenie między 2 tabelami napewno. Cytat(bodhi @ 2006-01-31 16:12:17) Ja zrobiłem coś takiego w php. Zapewne chodzilo mu o to, ze dane sortowal na poziomie php a nie mysql. Ja tez swego czasu robilem cos takiego i takze sortowalem na poziomie php. Mozesz zrobic na poziomie sql, ale nie zrobisz tego 1 zapytaniem, musialbys napisac sobie jakas ladna procedurke sqlowa. Jesli chcesz robic z poziomu php to zrob tak: -pobierz sobie dla kazdego gracza wszystkie dane (pkt, mecze, wygrane, przegrane itp) -nastepnie napisz sobie funkcje sortujaca, ktora w momencie gdy bedzie porownywac 2 gosci i do okreslenia kto jest wyzej/nizej bedzie potrzebowac wyniki ich bezposrednich spotkan to sobie pobierze z mysl wyniki i na tej podstawie zdecyduje |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 31.01.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zapewne chodzilo mu o to, ze dane sortowal na poziomie php a nie mysql. Dokładnie. W bazie miełem wyniki spotkań. Pobierałem, zliczałem punkty i gole w tabeli, dla indentycznej ilości punktów zliczałem minitabelki i na tej podstawie ustalałem kolejność w funkcji sortującej. moja tabela |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 24.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, napisałem funkcje i teraz wszystko jest wporządku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jeszcze jedno pytanie. Mam kod do wyświetlania tabeli:
Chodzi mi o zmienną '$nr'. Jak zrobić, w przypadku kiedy kilka drużyn będzie na tym samym miejscu, żeby '$nr' przy tych klubach miało taką samą wartość a następne $nr było większe o tyle ile druzyn było na jednym miejscu. Naprzykład: 3. Druzyna1 3. Druzyna2 5. Druzyna3 albo 3. druzyna1 3. druzyna2 3. druzyna3 6. druzyna4 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 31.01.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wymyśl coś. Np. zapamiętuj w zmiennej ilość punktów poprzedniej drużyny, jeżeli bieżąca drużyna ma taką samą to nie zwiększaj jej numeru tylko zwiększaj inną zmienną jąkąś offset, a potem do numeru kolejnej która ma już inną ilość punktów dodawaj offset.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 24.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy Cie dobrze zrozumialem ale, wtedy będą brane pod uwage punkty, a bezpośrednie spotkanie już nie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 4.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie znam się na MySQL ale na temat ekstraklasy piłkarskiej znalazłem cos takiego:
http://www.gajdaw.pl/bd/sql.html Jest tam sporo przykładów z zapytaniami do bazy. Może Ci się przyda. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 31.01.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie wiem czy Cie dobrze zrozumialem ale, wtedy będą brane pod uwage punkty, a bezpośrednie spotkanie już nie. Oczywiście masz rację. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 24.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
No, więc trzeba do tego podejść z 3 strony (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 16:16 |