所以我拥有一个在线游戏,每个用户都有一个培训师级别,所以我们可以将他们排名从最高到最低。在数据库中,训练员级别存储有一个数字,例如1或4或5.然后我们将其除以0.001以获得真正的训练师水平。
到目前为止,这是我编码的内容。
$pageLimit=PAGE_PER_NO*$id;
$query="SELECT * FROM users ORDER BY trainer_level DESC limit $pageLimit,".PAGE_PER_NO;
$res=mysql_query($query);
$count=mysql_num_rows($res);
$HTML='';
if($count > 0){
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<table width='100%' border='1' table class='gridtable' >
<tr>
<th>Username</th>
<th>Trainer Level</th>
</tr>";
while($row = mysql_fetch_array($res))
{
$i++;
echo '<td><img src="http://domainame.com/'.$row['avatar'].'" border=0>' ;
echo "<a href='membersprofile.php?nicky=".$row['username']." '>" . $row['username'] . "</a></td>";
echo "<td>";
echo "Wins: ";
$trainer_level= mysql_real_escape_string($row['trainer_level']);
$trainer_level2 = strip_tags($trainer_level);
$b = '0.001';
$total = ($trainer_level2 * $b) ;
echo $total ;
"</td>";
echo "</tr>";
}
echo "</table>";
}else{
$HTML='No Data Found';
}
echo $HTML;
这是我得到的屏幕截图 http://gyazo.com/994d215f0621371c62d9d1c087f77b1f.png
你能看到0.008比胜率更高:0.075 但0.075大于0.008
答案 0 :(得分:1)
我认为这是因为您的trainer_level
列不是数字数据类型。您需要在排序之前将其转换为数字。