[PHP] Punkte anhand der Ränge ausrechnen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von DOWNandOUT, 18. August 2010 .

  1. 18. August 2010
    Punkte anhand der Ränge ausrechnen

    Hi, geht um folgendes:

    ich habe eine Tabelle wo die Platzierung von Leuten drinstehen, z.b.

    1 Reiner
    2 Herbert
    3 Frank

    usw..

    Jetzt muss ich denen irgendwie eine Punktzahl zuweisen, die in der umgekehrten reihenfolge der Plätze bestimmt wird.

    Also ist z.b.

    1 Reiner (5 Punkte)
    2 Herbert (4 Punkte)
    3 Frank (3 Punkte)
    4 Luise (2 Punkte)
    5 Berta (1 Punkt)

    Allerdings kann ich vorher nicht immer genau sagen wieviele Spieler teilgenommen haben. Also muss ich die Datensätze vorher zählen und dann irgendwie die Punkte zuordnen, also die Platzierung wird quasi hochgerechnet und die Punkte gleichzeitig runter.

    WEiss jemand wie das geht ?

    schonmal danke
     
  2. 18. August 2010
    AW: Punkte anhand der Ränge ausrechnen

    Anzahl Teilnehmer - Platzierung = Punkte
     
  3. 18. August 2010
    AW: Punkte anhand der Ränge ausrechnen

    Kann ja nicht, dann hätte der erste nur 4 Punkte bei 5 Teilnehmern, aber es müssen ja 5 sein.
     
  4. 18. August 2010
    AW: Punkte anhand der Ränge ausrechnen

    Naja dann rechnest du das einfach so:

    Code:
    Anzahl Teilnehmer - Platzierung = Punkte +1
    sobekommt halt jeder nen Punkt mehr.
     
  5. 19. August 2010
    AW: Punkte anhand der Ränge ausrechnen

    Ich hoffe ich habe das richtig verstanden. Hier ne "sehr grobe" Skizze:

    Code:
    $anzTeilnehmer = 0;
    $datensatz = (SELECT nr FROM platzierung WHERE id=$anzTeilnehmer);
    
     while($datensatz != NULL){
     $anzTeilnehmer++;
     $datensatz = (SELECT nr FROM platzierung WHERE id=$anzTeilnehmer); 
     }// Zähle gesamte Zeilen
    
     while(anzTeilnehmer != 0){
     echo("INSERT INTO platzierung("punkte") VALUE ("$anzTeilnehmer")");
     anzTeilnehmer--;
     }// Schreibe die Variable anzTeilnehmer in die Spalte 
    
    so in etwa schon etwas länger nicht mehr mit php gearbeitet.
     
  6. 20. August 2010
    AW: Punkte anhand der Ränge ausrechnen

    Hallo DOWNandOUT,

    ich denke [Bensen] meinte das richtige, hat nur die falsche Formel geschlussfolgert.

    Der Trick ist, nicht mit der Platzierung als solcher zu rechnen, sondern mit einem Index. Der Index unterscheidet sich insofern, als dass er immer bei null anstatt bei eins anfängt zu zählen.

    Das folgt zur Formel
    Code:
    Punkte = Anzahl Spieler - Platzierung -1
    Die Liste sieht dann so aus...

    0 Reiner (5 Punkte)
    1 Herbert (4 Punkte)
    2 Frank (3 Punkte)
    3 Luise (2 Punkte)
    4 Berta (1 Punkt)

    Hoffe das hilft, auch wenn es eigentlich aus den vorhergagngenen Post hervor geht.

    BG MaxDev

    //EDIT: Um die Anzahl der Spieler zu ermitteln kannst Du entweder mit COUNT in Sql (Mysql) arbeiten oder in PHP die Funktion mysql_num_rows verwenden. Zweiteres finde ich persönlich besser, da kein weiteres Statement auf die Datenbank gefeuert werden muss.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.