下面的代码返回一个包含来自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);
?>
答案 0 :(得分:0)
首先,如果您只想要一个枚举值,您可以使用PHP获得它。
但是,在MySQL中使用变量很容易:
row_number()
从技术上讲,这实现了rank()
而不是{{1}}的相关功能。你的问题不清楚你的意思是“等级”。