Tabelle sortieren

Romeo-G

Mitglied
Hallo,
ich schreibe gerade an einer Rangliste, die bei jedem Aufruf neu generiert werden soll.
Da durch das Auslesen der mySQL-Datenbank schon genügend Traffic entsteht will ich nicht auch noch das Ergebis der Auswertung in eine Tabelle schreiben, um die Ausgabe dann mit dem order-Befehl so geordnet auszugeben wie ich sie brauche.

Zur Erklärung:
Das Skript geht jeden User in der "Benutzerdaten"-Tabelle durch und sucht dann für ihn aus verschiedenen anderen Tabellen all seine Spielergebnisse. Anschließend werden die erreichten Punkte berrechnet und das Ergebnis wird angezeigt.

Der 1. User in den Benutzerdaten wird also auch zuerst ausgegeben und steht somit im Ranking auf Platz 1, was ja nun nicht Sinn der Sache ist.

Meine Frage also:
Wie kann ich die Tabelle anders sortieren?
Wahrscheinlich wirds ja auf ein mehrdimensionales Array hinauslaufen aber da das doch relativ umständlich wird wollte ich lieber Fragen obs noch ne andere Lösung gibt.

die Tabelle sieht so aus:
---------------------------------------------------------------------------------------------------
| Platz | Spielername | Punkte | Lochverhältnis | Spiele | Jugendhaus |
| 1 | Test | 5 | 21 | - | 5 | 4 | Test 123 |
----------------------------------------------------------------------------------------------------

Danke
Romeo

P.S.: Wenns nur mit dem mehrdimensionalen Array geht wäre es ganz nett nen kleines Beispiel für meinen Fall zu bekommen. Also wie man ein Array mit 7 Dimensionen sortiert.
(Nach dem Kriterium Punkte!)
 
Ich würde das per SQL-Anweisung sortieren. Der Traffic zwischen Webserver und Datenbankserver bleibt gleich, egal ob die Tabelle sortiert oder unsortiert ist.
 
So, wie Du schreibst, klingt das so, als ob Du in dem Skript für jeden User mehrmals die Datenbank bemühst.
Normalerweise sollte das über das MySQL-Query zu lösen sein. Dazu brauchst Du wohl ein paar JOINS, Aliasnamen, evtl. ein paar MySQL-Funktionen, vielleicht ein GROUP BY und SUM. Dann kannst Du mit ORDER BY sortieren. Dann hättest Du nur ein Query und das ist in der Regel schneller.

Gruß hpvw
 
Zurück