Sortering af data i MySQL query
Hejsa, jeg har forsøgt at lave en lille tabel over nogle spillere jeg har tilkyttet nim database. Jeg vil liste dem så dem med flest 'Frags' står øverst på listen. Mit script genererer ikke nogen fejlmeddeleser, så jeg kan ikke hitte ud af hvorfor de ikke lister som jeg ønsker det?kig på dette link: http://www.dm.liandricorp.net/ for at se tabellen, den er live og opdateres når spillerne er online.
Og prøv så at sammenligne tabellen med min kode:
[code]
<?php
$con = mysql_connect("localhost", "liandric_user", "1a2b3c4d");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("liandric_stats", $con);
$result = mysql_query("SELECT Server, Name, Frags, Deaths, Suicides, Seconds FROM DeathMatch ORDER BY Frags DESC")
or die(mysql_error());
echo "<table border='3'>";
echo "<tr> <th> <font size=5 color='#AAAAAA'> DeathMatch Players </th> </font> </tr>";
echo "</table>";
echo "<br/>";
echo "<table border='1'>";
echo "<tr> <th> <font color='#AAAAAA'>Name</th> <th> <font color='#AAAAAA'>Frags</th> <th> <font color='#AAAAAA'>Deaths</th>
<th> <font color='#AAAAAA'>Suicides</th> <th> <font color='#AAAAAA'>Time H:M:S</th> <th> <font color='#AAAAAA'>Eff.</th> </font>
<th> <font color='#AAAAAA'>Frags/Hour</th> </font> <th> <font color='#AAAAAA'>Server</th> </font> </tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result ))
{
// calculate the time output
$sekunder = $row['Seconds'];
$timer = floor($sekunder / (60 * 60));
$sekunder = floor($sekunder % (60 * 60)); // eller $sekunder - $timer * 60 * 60;
$minutter = floor($sekunder / 60);
$sekunder = floor($sekunder % 60); // eller $sekunder - $minutter * 60;
if ( $sekunder < 10 )
$sekunder = "0" . $sekunder;
if ( $minutter < 10 )
$minutter = "0" . $minutter;
$Time = $timer . ":" . $minutter . ":" . $sekunder;
// calculate the efficiency
$Total = $row['Frags'] + $row['Deaths'] + $row['Suicides'];
$EFF = floor($row['Frags'] / $Total * 100);
// calculate frags per hour frags / sec * 60 * 60
$FPH = floor($row['Frags'] / $row['Seconds'] * 60 * 60);
// post the info to the tables
echo "<tr><td align=center>";
echo "<font color='#33FF33'>" . $row['Name'] . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $row['Frags'] . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $row['Deaths'] . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $row['Suicides'] . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $Time . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $EFF . "%" . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $FPH . "</font>";
echo "</td><td align=center>";
echo "<font color='#33FF33'>" . $row['Server'] . "</font>";
echo "</td></tr>";
}
echo "</table>";
?>
[/code]