有关于ORDER的快速提问。我有一个使用php在高分表中显示的分数列表。我需要在第一位显示最小的十进制数,但是当我尝试使用ASC命令时,不显示任何结果。但是,如果我使用DESC,结果会显示,但是与我需要的顺序相反(最后的最小十进制显示)。
以下是显示分数的“工作”代码,但顺序错误。
$query = mysql_query("select reflex,playerID from users_stats order by reflex DESC limit 10")or die(mysql_error());
$ranking = 0;
while ($row = mysql_fetch_array($query)) {
if ($row[reflex] <= 0) break;
$ranking = $ranking + 1;
$rankingdisplay = doRankPosition($ranking);
print "<tr><td><b>$rankingdisplay</b></td><td>$row[playerID]</td><td>$row[reflex]</td></tr>";
if ($ranking >= 10) break;
}
以下是不显示任何内容的代码(不返回任何结果)。
$query = mysql_query("select reflex,playerID from users_stats order by reflex ASC limit 10")or die(mysql_error());
$ranking = 0;
while ($row = mysql_fetch_array($query)) {
if ($row[reflex] <= 0) break;
$ranking = $ranking + 1;
$rankingdisplay = doRankPosition($ranking);
print "<tr><td><b>$rankingdisplay</b></td><td>$row[playerID]</td><td>$row[reflex]</td></tr>";
if ($ranking >= 10) break;
}
我也试过这个(默认);
$query = mysql_query("select reflex,playerID from users_stats limit 10")or die(mysql_error());
$ranking = 0;
while ($row = mysql_fetch_array($query)) {
if ($row[reflex] <= 0) break;
$ranking = $ranking + 1;
$rankingdisplay = doRankPosition($ranking);
print "<tr><td><b>$rankingdisplay</b></td><td>$row[playerID]</td><td>$row[reflex]</td></tr>";
if ($ranking >= 10) break;
}
再次,没有结果显示....
反射分数使用十进制(4,3)默认无存储在MySQL数据库中。谁能指出我正确的方向?我试图谷歌它,但似乎找不到任何具体到我需要的东西。我假设这与小数点有关系吗?
提前致谢。
*已编辑 - 我非常感谢任何答案/建议,但我是非常新的PHP,仍然拼命想学:/
答案 0 :(得分:3)
你可能在“反射”栏中排名为0
if ($row[reflex] <= 0) break;
退出周期