Php为每个查询结果编号


Php number each query result

我正在制作一个排行榜,我想把它编号为第一名第二名等在html表字段

如何对输出的每一行信息进行编号?类似的$result + 1 ?

我查询

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 1");
                            while($row = mysqli_fetch_array($result)) {
$bank = $row['bank'];

}

谢谢。

可以使用以下命令对查询结果进行排序:

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 900");
$rows = mysqli_num_rows($result);
for($x = 1; $x <= $rows; $x++) {
    $row = mysqli_fetch_array($result);
    echo "#{$x} " . $row['bank'];
}

这将开始倒计时,显示"#1…# 2…# 3…"等等。你也可以在while循环中这样做:

$result = mysqli_query($con,"SELECT * FROM playerdata WHERE Admin='0' ORDER BY Bank DESC LIMIT 900");
$x = 1;
while($row = mysqli_fetch_array($result)) {
    $bank = $row['bank'];
    echo "#{$x} " . $bank;
    $x++;
}

使用查询本身可以构建结果,我认为这是你需要的。不知道

SELECT    @curRank := @curRank + 1 AS rank, a.*
FROM      playerdata a, (SELECT @curRank := 0) r
WHERE Admin='0' ORDER BY Bank DESC LIMIT 900

In php

$result = mysqli_query($con,"SELECT    @curRank := @curRank + 1 AS rank, a.*
    FROM      playerdata a, (SELECT @curRank := 0) r
    WHERE Admin='0' ORDER BY Bank DESC LIMIT 900");
while($row = mysqli_fetch_array($result)) {
    $rank = $row['rank'];
    $bank = $row['Bank'];
}