Marco: ORDER BY sortiert falsch

Beitrag lesen

Aha, also ein "Ranking" pro Spalte. "User X" liegt auf Platz 8 bei goldStar und auf Platz 10 bei bronzeStar. usw. Dann schau mal, ob dein DBMS solche Ranking-Funktionen unterstützt, imho gibts da nix in mySQL out-of-the-box.

Demnach hast du die Möglichkeiten:

  • akzeptieren, wie es ist mit der Sortierung momentan
  • eine eigene Ranking Funktionalität bauen (könnte unter mySQL etwas tricky sein, daher vielleicht eher mit PHP)

Und wie kann ich es mit PHP sortieren. So sieht meine PHP Datei aus.

<?php  
$ergebnis=mysql_query("SELECT goldStar, silverStar, bronzeStar, nick FROM stat_playerAwardMedals, stat_playerAtt WHERE stat_playerAwardMedals.pid = stat_playerAtt.pid ORDER BY goldStar DESC");  
?>  
  
  
//Goldmedaille  
  
<table width="100%" border="1">  
<?php  
$nummer = 1;  
while ($row = mysql_fetch_assoc($ergebnis)) {  
        echo '<tr>';  
        echo '<td>'.$nummer++.'</td>'."\n";  
        echo '<td>'.$row['goldStar'].'</td>'."\n";  
		echo '<td>'.$row['nick'].'</td>'."\n";  
        echo '</tr>';  
}  
?>  
</table>  
  
  
//Silbermedaille  
  
<table width="100%" border="1">  
<?php  
$nummer = 1;  
mysql_result($ergebnis, silverStar);  
while ($row = mysql_fetch_assoc($ergebnis)) {  
        echo '<tr>';  
        echo '<td>'.$nummer++.'</td>'."\n";  
        echo '<td>'.$row['silverStar'].'</td>'."\n";  
		echo '<td>'.$row['nick'].'</td>'."\n";  
        echo '</tr>';  
}  
?>  
</table>  
  
  
  
//Bronzemedaille  
  
<table width="100%" border="1">  
<?php  
$nummer = 1;  
mysql_result($ergebnis, bronzeStar);  
while ($row = mysql_fetch_assoc($ergebnis)) {  
        echo '<tr>';  
        echo '<td>'.$nummer++.'</td>'."\n";  
        echo '<td>'.$row['bronzeStar'].'</td>'."\n";  
		echo '<td>'.$row['nick'].'</td>'."\n";  
        echo '</tr>';  
}  
?>  
</table>

Wie wende ich darauf jetzt zb. sort() an?

Vielen Dank

mfg Marco