#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 + Multi-Zitat Zitieren
#2 18. August 2010 AW: Punkte anhand der Ränge ausrechnen Anzahl Teilnehmer - Platzierung = Punkte + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren