Kryszic
24.08.2009, 12:52:03
Witam
Może na początek opisze problem. Chodzi o sorotwanie w dobrej kolejności tabeli piłkarskiej. W pierwszej kolejności bierze się pod uwagę ilość punktów zdobytych przez dany zespół i to jest sprawa prosta ten kto ma najwięcej punktów idzie na szczyt tabeli itd. Sprawa się komplikuję gdy gdzies tam dajmy na to po 15 meczach 3 zespoły mają taką samą liczbę punktów. Wtedy pod uwagę bierze się bezpośrednei spotkanai tych zespołów a jeśli takich jescze nei było wówczas sprawę rozwiązuje bilans bramek czyli (bramki strzelone- bramki wpusczone). Ta druga sprawa też jest prosta. Moje pytanie dotyczny tej wcześniejszej opcji czyli wybranie bezpośredniego spotkania zespołów które mają ta samą ilość punktów nie bardzo wiem jak do tego się zabrać i jak to ugryźć. Proszę bardziej doświadczoncyh programistów o porady wskazanie kierunku , pomysłu lub rozwiązania sytuacji.
No i jescze jedna kwestia jakie jest zapytanie które wyświetli mi z danej tabeli tylko wiersze w których kolumna ptk ma taką samą wartość. Gdzieś kiedyś robielm takie rzeczy ale ostatnio robie wszystko automatycznie zmeiniając tylko grafikę i przez to się uwsteczniam
Z góry dzięki za pomoc
erix
24.08.2009, 13:48:52
Przecież przy ORDER możesz podać kilka kryteriów...
Kryszic
24.08.2009, 13:58:05
No tak i aktualnei mam:
order by ptk desc, bilans desc
ale jak wybrć te zespoły z tabeli które maja tą sama ilość ptk i dodatkowo je posortować według bilansu bezpośrednich meczy tych drużyn
erix
24.08.2009, 14:03:14
Jak jest to samo, to przecież możesz kolejny warunek sortowania dodać... Wtedy będzie od pierwszego do ostatniego.
Za mało danych podajesz, pokaż przykładową tabelę, co masz.
Kryszic
24.08.2009, 14:42:46
Na tej stronce jest tabela która muszę właściwie posortować:
http://olimpia.elblag.com.pl/index.php?id=tabela&idd=2
krowal
24.08.2009, 14:47:41
A co to właściwie znaczy 'bilans bezpośrednich meczy tych drużyn' ? Bo jeśli wg tego musisz sortować, a nie masz takiej jednoznacznej kolumny w bazie to musisz ją sobie jakoś stworzyć na podstawie danych z pozostałych tabel w seleccie i potem użyć jej w klauzuli 'ORDER BY'.
Kryszic
24.08.2009, 14:55:15
No tak tylko jak wyodrębnić z tabeli te zespoły które mają tą samą ilość punktów(tylko te zespoły żadne inne). I żeby to sie odbywało z automatu a nie że w zapytaniuu jest ...where ptk='6'
krowal
24.08.2009, 15:08:12
Wybierz wszystkie i pogrupuj po ilości punktów. Np:
<?php
foreach ($teams as $t){
$groupped[$t['punkty']][] = $t;
}
?>
To ci da tablicę z tablicami zawierającymi zespoły o takiej samej ilości punktów. Edit: btw nadal nie odpowiedziałeś po czym dokładnie chcesz je jeszcze posortować
Kryszic
24.08.2009, 20:05:39
Bilans bezpośrednich spotkań to liczba goli dwu meczu czyli np: mecz pierwszy- zespól a 2:1 zespół b; mecz drugi zespól a 3:2 zespół b; bilans bramkowy tego meczu 5:3 dla zespołu a i to on bedzie wyzej w tabeli
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.