Hendrik: Sortierungsproblem

Habe ein Tippspiel gebastelt bei dem in der Datenbank die jeweiligen Punkte eines Tippers pro Spieltag eingetragen sind. Wenn jetzt aktuell Spiele laufen, würde ich gerne einen Live-Spielstand anbieten. Der Besucher soll die Zwischenstände eintragen und erhält dann die aktuelle Live-Tabelle der Tipper.

Mein Select sortiert jetzt nach den letzten Punkteständen. Ich würde zu diesen letzten Punkteständen gerne die aktuellen Live-Punkte hinufügen und dann zeigen wie sich die Tabelle verändern würde.

Ich habe jetzt das Problem, dass ich keine Ahnung habe wie ich das Problem überhaupt anpacken soll. Gibt es eine Funktion bei SELECT oder muss ich das SELECT in ein Array packen, neu berechnen und dann neu sortiert ausgeben? Oder gibt es vielleicht noch eine weitere Möglichkeit?

Wäre sehr dankbar wenn man mir als Anfänger ein wenig weiter hilft, da ich gerade wie der Ochs vorm Berg steh.

mfg
Hendrik

  1. Grüße,
    sortiere NACH der addition - dh du liest es zB in ein array aus, addierst der reihe nach, sortierst den array und gibst ihn aus. nich tdie beste dafür die simpelste lösung
    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
  2. yo,

    Gibt es eine Funktion bei SELECT oder muss ich das SELECT in ein Array packen, neu berechnen und dann neu sortiert ausgeben? Oder gibt es vielleicht noch eine weitere Möglichkeit?

    das dbms kann schon sehr gut sortieren, insofern sehe ich keinen grund, warum du es in ein array auslagern müsstest. Wenn du aber konkrete hinweise haben willst, dann musst du uns schone detailierte infos über deine tabellen und deine bisherige abfrage geben, sowie das wunschergebnis und welches dbms mit welcer version du bentzt.

    Ilja

    1. yo,

      Gibt es eine Funktion bei SELECT oder muss ich das SELECT in ein Array packen, neu berechnen und dann neu sortiert ausgeben? Oder gibt es vielleicht noch eine weitere Möglichkeit?

      das dbms kann schon sehr gut sortieren, insofern sehe ich keinen grund, warum du es in ein array auslagern müsstest. Wenn du aber konkrete hinweise haben willst, dann musst du uns schone detailierte infos über deine tabellen und deine bisherige abfrage geben, sowie das wunschergebnis und welches dbms mit welcer version du bentzt.

      Ilja

      Danke dir für die Antwort. Hier also weitere Informationen:

      Ich habe ein Tabelle user_spieltag angelegt in der user ID, spieltag, punkte am spieltag, gesamtpunkte nach dem spieltag und position abgelegt sind. In weiteren Tabellen sind die einzelnen Tipps der User pro Spiel abgelegt (user ID, spiel ID, tipp heimtore, tipp gasttore, punkte und bewertet) und in einer anderen Tabelle die Ergebnisse.

      Ich will nun die Spiele, die aktuell laufen anzeigen lassen was auch gut klappt. Der user soll nun durch eine dropdown-Liste die aktuellen Spielstände eintragen und eine aktuelle Tabelle ausgespuckt bekommen. Die bisherige Darstellung findet durch die Sortierung des aktuellen Spieltages der Tabelle user_spieltag statt. Nun sollen die Tipps mit den eingegeben Zwischenständen verglichen, die aktuell erzielten Punkte mit den bisher erzielten Punkten addiert und die Tabelle neu dargestellt werden.

      1. yo,

        Ich habe ein Tabelle user_spieltag angelegt in der user ID, spieltag, punkte am spieltag, gesamtpunkte nach dem spieltag und position abgelegt sind.

        das ist schon mal ganz schlecht, die gesamtpunkte und die position mit abzuspeichern. das sind prozessdaten (Daten, die sich aus anderen daten berechnen lassen), die man ohne guten grund nicht speichern sollte.

        In weiteren Tabellen sind die einzelnen Tipps der User pro Spiel abgelegt (user ID, spiel ID, tipp heimtore, tipp gasttore, punkte und bewertet)

        hier gilt das gleiche für die punkte, die lassen sich sicherlich aus anderen daten berechnen.

        Nun sollen die Tipps mit den eingegeben Zwischenständen verglichen, die aktuell erzielten Punkte mit den bisher erzielten Punkten addiert und die Tabelle neu dargestellt werden.

        das problem entsteht aus den oben genannten gründen. würdest du die gesamtpunktzahl und position nicht in der datenabank speichern, sondern durch eine abfrage berechnen, so wäre die abfrage für die ausgabe der tabelle die gleiche sowohl für die bereits gespielten spiele als auch die live spiele mit zwischenständen. wenn du solch eine abfrage hast, kannst du dir dann die entsprechenen spalten sparen.

        wie die abfrage genau aussieht, hängt davon ab, welche punkte du vergibts, bei welchen tipps.

        Ilja