Mit While-Schleife zählen
Marco
- php
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
$zahl = $zahl + ...
Warum nicht einfach $zahl = $zahl + 11 - $row['rang'] ?
$zahl = $zahl + ...
Warum nicht einfach $zahl = $zahl + 11 - $row['rang'] ?
Autsch...
Warum einfach, wenn es auch kompliziert geht :)
Vielen Dank
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