我有点困惑。
当我发送 ORDER BY paramater
desc 查询时,它应该加载并按该参数的最高编号到较低编号的顺序显示行顺序。
这是我正在运行的代码:
<?php
$p = 1;
$loadusers = mysqli_query($con, "SELECT * FROM `users` ORDER BY `gpower` DESC");
$z = 0;
while ($me = mysqli_fetch_array($loadusers)) {
$z++;
if (($z % 20) == 0) {
$p += 1;
}
if ($me['id'] == $userinfo['id']) {
break;
}
}
if (isset($_GET['sp'])) {
$p = intval($_GET['sp']);
}
$sl = (($p * 20) - 20);
$el = $p * 20;
$loadrank = mysqli_query($con, "SELECT * FROM `users` ORDER BY `gpower` DESC LIMIT $sl,$el");
if (mysqli_num_rows($loadrank) < 1) {
$p = 1;
$sl = (($p * 20) - 20);
$el = $p * 20;
$loadrank = mysqli_query($con, "SELECT * FROM `users` ORDER BY `gpower` DESC LIMIT $sl,$el");
}
$i = $sl;
while ($rs = mysqli_fetch_array($loadrank)) {
$i++;
?>
<tr <?php echo ($rs['id'] == $userinfo['id']) ? "style='background: #7d2222';" : ""?>>
<td><?php echo $i; ?></td>
<td><?php echo secure($rs['name']); ?></td>
<td><?php echo secure($rs['troops']); ?></td>
<td><?php echo clanName($con, $rs['name']); ?></td>
<td><?php echo $rs['gpower']; ?></td>
</tr>
<?php
}
?>
大家知道为什么会发生这种事吗?
最佳答案
您得到了 ALPHA 降序排列
将 gpower 转换为 int(在 SQL Server 中)
...Order by cast(gpower as int) Desc
关于php - 查询sql代码,没有呈现应有的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38946176/