• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Benötige Hilfe bei Ausgabe von Rang

jayb

Neues Mitglied
Hallo Leute.

Folgendes Problem:
Ich will eine Rangliste ausgeben, es klappt aber noch nicht so ganz. :/
So weit bin ich nun:

Code:
<?php /* Ausgabe der Rangliste */
                            mysql_query("SET @rownum :=0;");
                            $ergebnis = mysql_query("
                                                    SELECT @rownum := @rownum + 1 AS rang,nickname,aufrufe FROM Spieler,PersLink
                                                    WHERE Spieler.link_id = PersLink.linknr
                                                    ORDER BY aufrufe desc") or die($query.' Fehlermeldung der DB: '.mysql_error());
                            
                            
                            while($row = mysql_fetch_object($ergebnis))
                            {?>
                              <tr>    
                                <td class="rangtab"><?php echo $row->rang;?></td>    
                                <td class="rangtab"><?php echo $row->nickname;?></td>
                                <td class="rangtab"><?php echo $row->aufrufe;?></td>    
                              </tr><?php
                            }                            
                            ?>

Was aber nun ausgegeben wird ist eine Liste, Sortiert nach Aufrufen(richtig so), aber die Ränge sind falsch sortiert! Er müsste dem obersten Eintrag den Rang1 geben, stattdessen gibt er den Spielern als Rang einfach die Nummerierung, die sie in der Datenbank haben!

Wo ist der Fehler? Ich bin schon am Verzweifeln :(
 
Perfekt, danke! Es funktioniert :)

So sieht das jetzt aus:

Code:
$ergebnis = mysql_query("
                                                    SELECT @rownum:= @rownum+1 ROWNUM, Spieler.*
                                                    FROM 
                                                    (SELECT @rownum:=0) r,
                                                    (SELECT aufrufe,nickname FROM Spieler,PersLink 
                                                    WHERE Spieler.link_id=PersLink.linknr 
                                                    ORDER BY aufrufe desc) Spieler")
 
Zurück
Oben