在我的mySQL输出数据中添加排名

时间:2016-09-24 22:31:03

标签: php html mysql

下面的代码返回一个包含来自mysql的数据的表,但是我在输出中缺少的是一个生成的列,其列的排名基于列的数据(本例中为wilks)。我已经找到了类似问题的例子和答案,但我无法让它发挥作用。

简而言之:我需要在ID列旁边添加一个额外的列,根据Wilks列中的数据显示从1开始的排名。

非常感谢你!

<?php
$con=mysqli_connect("localhost", "user", "password", "dbname");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM `Mannen` ORDER BY `Wilks` DESC");

echo "<table border='1'>
<tr>
<th>#</th>
<th>Naam</th>
<th>Lichaamsgewicht</th>
<th>Vereniging</th>
<th>Squat</th>
<th>Bench</th>
<th>Deadlift</th>
<th>Totaal</th>
<th>Wilks</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['ID'] . "</td>";
    echo "<td>" . $row['Naam'] . "</td>";
    echo "<td>" . $row['Lichaamsgewicht'] . "</td>";
    echo "<td>" . $row['Vereniging'] . "</td>";
    echo "<td>" . $row['Squat'] . "</td>";
    echo "<td>" . $row['Bench'] . "</td>";
    echo "<td>" . $row['Deadlift'] . "</td>";
    echo "<td>" . $row['Totaal'] . "</td>";
    echo "<td>" . $row['Wilks'] . "</td>";
    echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

1 个答案:

答案 0 :(得分:0)

首先,如果您只想要一个枚举值,您可以使用PHP获得它。

但是,在MySQL中使用变量很容易:

row_number()

从技术上讲,这实现了rank()而不是{{1}}的相关功能。你的问题不清楚你的意思是“等级”。