Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MYSQL] Działanie matematyczne w `ORDER BY`
Forum PHP.pl > Forum > Przedszkole
MeTeorek
Witam.

Jestem podczas pisania skryptu i mam głupi problem. Skrypt dotyczny tabeli ligowej i niestety nie mogę się oprzeć na jednej kolumnie. Jako iż dużo rzeczy rozwiązuje matematycznie chciałem ten problem rozwiązać dając w ORDER BY taki warunek

Kod
ORDER BY ((tabela_punkty * 10) + (tabela_wygrana - tabela_porazka))


Niestety nie wiem czemu ale źle wyświetla... załóżmy, że "tabela_punkty" to 30 a różnica drugiego działania to 150... wychodzi 300 + 150... Niestety początek jest dobrze wyświetlany a dalsza część gdzie już wchodzą w grę wartości ujemne występują błędy... Kod niekoniecznie musi być ten lezc chodzi o to by jeśli wynik punktowy był taki sam, skrypt patrzył na różnicę punktów (to drugie działanie). Niestety zastosować AND nie udało mi się...

tabela_wygrana to punkty zdobyte przez zespół

a

tabela_porazka to punkty stracone...

Chyba jasno wyjaśniłem... Ktoś wie w czym tkwi problem w tym działaniu/warunku? A może ma inny pomysł na rozwiązanie?


Z góry dziękuję i pozdrawiam.
nevt
nie musisz kombinować matematycznie, tylko bazodanowo smile.gif
ORDER BY może sortować według kilku kryteriów jednocześnie, więc twój problem rozwiąże:
  1. ORDER BY tabela_punkty DESC, (tabela_wygrana - tabela_porazka) DESC

przy okazji mała optymalizacja, dzięki której najpierw pokaże ci drużyny z lepszymi wynikami, powodzenia.
MeTeorek
Wielkie dzięki winksmiley.jpg Kolejna rzecz do zapamiętania winksmiley.jpg Wszystko działa jak nalezy smile.gif

Pozdrawiam
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.