Hi, in der Tat ist dein jetziges Tabellenschema nicht wirklich "mega"-optimal. Hier mal vielleicht ein paar Denkanstoesse:
- die einzelergebnisse aus den "2 Runden" sind dir bekannt und bleiben statisch
- du kannst pro Event eine Liste aus allen Teilnehmern mit ihren Ergebnissen erstellen, sortiert nach den Ergebnissen der einzelnen teilnehmer
- zur einfacheren weiterverarbeitung solltest du dann den Rang pro Event zurueck in die Datenbank schreiben, das kannst du beim Eintragen neuer Ergebnisse einfach als zusaetzlichen Schritt wiederholen
- zur Gewichtung fuer jeden Event fuehrst unterschiedliche Maximalpunktzahlen ein
- alles was du mit geringem Aufwand aus bestehenden Daten berechnen kannst, brauchst du nicht speichern
- dein DBMS (mysql) kann dir u.U. mit spezifischen Funktionen behilflich sein
Ciao, Frank
Erstmal danke für die Antwort.
Müsste ich dann für jedes Event eine neue Tabelle anlegen? Ansonsten kann man doch schlecht den Benutzernamen und die dazugehörigen Punkte aller in einer Tabelle abspeichern. Oder könnte man dieses eventuell mit serealize machen?
Was mir auch einfällt ist, dass es verschiedene Divisionen gibt, welche so gut wie unabhängig voneinander sind. Ist es dann wohl dafür am besten, eine eigene Tabelle anzulegen, oder wenn es mit serealize klappt einfach den Typ der Division als eine Spalte in der Tabelle Ranking anzulegen?
Die Statistiken hatte ich dann auch geplant aus den Ergebnissen zu berechnen. Ich dachte an simple Dinge wie Durchschnittsrang und Anzahl der Eventsiege. Das sollte ja ziemlich leicht zu errechnen sein.