Order by

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Order by

    Hallo

    Folgendes Problem

    Ich lass mir Daten aus der Datenbank anzeigen geordnet nach Punkte.

    Jetzt steht der User mit den meisten Punkten oben.

    Bisher klappt das auch.

    Aber wie kann ich es machen das von oben angefangen jeder user neue punkte bekommt und zwar nach vorhandenen Punkte..

    mal ein Beispiel.

    user1 1000 Punkte
    user2 900 Punkte
    user3 800 Punkte


    so jetzt gibt es z.b 10.000 Punkte zu verteilen

    jetzt will ich das so verteilen das der oberste 7500 bekommt der nächste 2500 und der letzte 1250..

    wie kann man das realisieren???

    Mfg

  • #2
    UPDATE

    Kommentar


    • #3
      das weiß ich auch...

      ich meine wie verteile ich die punkte...wenn ich z.b 100 user habe

      kann ich ja nicht 100 if abfragen machen

      z.b
      if ($user1 = ??


      hmm

      ich weiß nicht wie ich festellen kann wer die meisten punkte damit ich jetzt weiter die punkte verteilen kann.

      Kommentar


      • #4
        Mein Ansatz wäre folgender; du liest die Gesamtpunktzahl aller User aus. Also bspw.:
        • user1 => 28 Punkte
        • user2 => 26 Punkte
        • user3 => 7 Punkte
          ------------------------------
        • gesamt => 61 Punkte

        Dann berechnest Du Wieviel Prozent der Gesamtpunktzahl der einzelne User hat. Z.B. für user1:

        x = (100% * 28 Punkte ) / 61 Punkte
        x = 45,90% (grundet)

        Dann sagen wir hast Du 200 Punkte zu vergeben. Das heißt user1 erhält 91,8 Punkte von 200.
        Dann brauchst Du nur noch Deine UPDATE-Anweisung entsprechend formulieren und fertig.
        Zuletzt geändert von gruenspan; 12.03.2006, 17:46.

        Kommentar

        Lädt...
        X