Maniac
Erfahrenes Mitglied
Ich steh hier vor einem Rätsel....
unzwar hab ich folgende SQL-Abfrage in phpMyAdmin getestet und diese funktioniert dort auch mit richtiger Sortierung.
Bei dieser Abfrage werden Datensätze ausgegeben und nach 3 Kriterien sortiert.
1. höchstes Finish (b.highfinish DESC)
2.Wenn Finish gleich ist, dann steht derjenige in der Rangliste oben der es an einem früheren Spieltag erzielt hat. (b.spieltag ASC)
3. Wenn die ersten beiden Kriterien gleich sind, dann soll das Datum erntscheiden
(b.datum ASC)
Wie gesagt, in phpMyAdmin t es super, wird richtig dargestellt. nur in PHP nicht.
Es gibt dort zb. 2 Spieler die ein Finish von 125 haben und es am selben Spieltag erzielt haben. nun muss bei denen das Datum entscheiden. Leider wird in PHP der falsche, also der mit dem höheren Datum vorne angezeigt.
Nur nach Datum kann ich nicht gehen, da Spieltage verschoben werden können und nicht mehr mit den Spieltagen zusammenpassen.
unzwar hab ich folgende SQL-Abfrage in phpMyAdmin getestet und diese funktioniert dort auch mit richtiger Sortierung.
Bei dieser Abfrage werden Datensätze ausgegeben und nach 3 Kriterien sortiert.
1. höchstes Finish (b.highfinish DESC)
2.Wenn Finish gleich ist, dann steht derjenige in der Rangliste oben der es an einem früheren Spieltag erzielt hat. (b.spieltag ASC)
3. Wenn die ersten beiden Kriterien gleich sind, dann soll das Datum erntscheiden
(b.datum ASC)
Wie gesagt, in phpMyAdmin t es super, wird richtig dargestellt. nur in PHP nicht.
Es gibt dort zb. 2 Spieler die ein Finish von 125 haben und es am selben Spieltag erzielt haben. nun muss bei denen das Datum entscheiden. Leider wird in PHP der falsche, also der mit dem höheren Datum vorne angezeigt.
Nur nach Datum kann ich nicht gehen, da Spieltage verschoben werden können und nicht mehr mit den Spieltagen zusammenpassen.
PHP:
$db->query("SELECT a.ID, a.name, a.vorname, b.pid, MAX(b.highfinish) as highscore, c.teamname FROM `players` a LEFT JOIN spieler_score b ON a.ID = b.pid INNER JOIN teams c ON a.team_id=c.ID WHERE a.liga_id='$liga' AND b.highfinish > 99 GROUP BY b.pid ORDER BY highscore DESC, b.spieltag ASC, b.datum ASC");