Reihenfolge bei einer Rangliste

d4k4

Erfahrenes Mitglied
Hallo,

ich bin gerade an einer Rangliste. Der Code soweit:

PHP:
<?php
	include "db.php";
     $rang = 0;
     $query = mysql_query("SELECT * FROM table ORDER BY punkte DESC");
     while ($row = mysql_fetch_array($query)){
     if ($row['punkte'] == $punkte) {
      $rang=$rang;
     }
     else {
      $rang++;
     }
     ?>
     <tr align="center">
      <td width="100">
       <? echo $rang; ?>
      </td>
      <td width="150">
       <? echo $row['name']; ?>
      </td>
      <td width="100">
       <? echo $row['punkte']; ?>
      </td>
     </tr>
    <?
    }
?>

Klappt soweit auch gut, nur will ich, dass Spieler, die die gleiche Punktzahl haben, auch den gleichen Rang haben. Eigentlich müsste dass doch so wie in meinem Code geschrieben gehen, aber es funktioniert einfach nicht. Er nummeriert mir weiterhin die Namen durch, auch bei gleicher Punktezahl.
 
Du musst der $punkte-Variable noch den aktuellen Punktewert zuweisen. Außerdem kann die $rang=$rang-Zuweisung weggelassen werden.
PHP:
if( $row['punkte'] != $punkte) {
	$rang++;
}
$punkte = $row['punkte'];
 
Zurück