有一个关于 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 非常陌生,并且仍在拼命学习:/