Marco: Mit While-Schleife zählen

Hallo,

ich möchte eine Gesamt Highscore-Liste erstellen.
Es gibt 10 Highscores, pro Spiel (10 Ränge)
Pro Rang, gibt es Punkte.

Rang / Punkte
1/10
2/9
3/8
4/7
usw.

In der Datenbank, habe ich 2 Datensätze angelegt.
Rang 1
Rang 5

Diese möchte ich, mit der While-Schleife zusammenrechnen.

  
MYSQL-Abfrage....  
  
$zahl = 0;  
while ($row = mysql_fetch_array($result)){  
  	if($row['rang'] == '1')  
	{  
  		$zahl + 10;  
	}  
	elseif($row['rang'] == '2')  
	{  
 		$zahl + 9;  
	}  
	elseif($row['rang'] == '3')  
	{  
 		$zahl + 8;  
	}  
	elseif($row['rang'] == '4')  
	{  
 		$zahl + 7;  
	}  
	elseif($row['rang'] == '5')  
	{  
 		$zahl + 6;  
	}  
	elseif($row['rang'] == '6')  
	{  
 		$zahl + 5;  
	}  
	elseif($row['rang'] == '7')  
	{  
 		$zahl + 4;  
	}  
	elseif($row['rang'] == '8')  
	{  
 		$zahl + 3;  
	}  
	elseif($row['rang'] == '9')  
	{  
 		$zahl + 2;  
	}  
	elseif($row['rang'] == '10')  
	{  
 		$zahl + 1;  
	}  
}  
  
echo $zahl;

Jedoch funktioniert das so leider nicht.
Habe mir schon $row['rang'] mit pint_r ausgeben lassen.
Stimmt alles...

Wenn ich zb. hochzählen möchte, mit $zahl++ funktioniert es.
Aber warum funktioniert es nicht mit $zahl + wert?

LG

  1. $zahl = $zahl + ...

    Warum nicht einfach $zahl = $zahl + 11 - $row['rang'] ?

    1. $zahl = $zahl + ...

      Warum nicht einfach $zahl = $zahl + 11 - $row['rang'] ?

      Autsch...

      Warum einfach, wenn es auch kompliziert geht :)

      Vielen Dank

  2. Hi,

    if($row['rang'] == '1')
    {
       $zahl + 10;

    Nimm den Inhalt der Variable, addiere 10 dazu, und schmeiß das Ergebnis weg ...

    Wenn ich zb. hochzählen möchte, mit $zahl++ funktioniert es.
    Aber warum funktioniert es nicht mit $zahl + wert?

    Weil ++ explizit dafür da ist, die Variable zu verändern.

    Der Operator + jedoch beeinflußt keine Variable, er gibt die Summe der beiden Operanden zurück.

    Im Unterschied zu +=, welches wiederum dazu dient, die Variable zu ändern (den zweiten Operanden zum Variablenwert addieren)

    Daß Dein if/else if/.../else überflüssig ist, hat Encoder ja schon geschrieben ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.