我有从属于特定用户的数据库中获取值的代码。

<?php
$user = $_SESSION['username'];
$q = intval($_GET['q']);
$db = mysqli_connect('localhost', 'username', 'password', 'database_name');
$sql = "SELECT * FROM savedtimes WHERE username = '$user' AND session = '$q' ORDER BY timeid";
$result = mysqli_query($db, $sql);
//$SNo = I might need to put something over here which makes it show the order number.
echo "<table>
<tr>
<th>S.No.</th>
<th>time</th>
<th>Avg of 5</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $SNo . "</td>";//This is the S.no column.
    echo "<td>" . $row['value2'] . "</td>";
    echo "</tr>";
}
echo "</table>";
?>

现在,当它以一个名为timeid的字段的顺序显示这些值时(该字段处于自动递增状态),我希望有一个名为S.No的列(仅在显示时,而不是在实际数据库中),它将这些值从1排序到最后一个数。请注意,我不能只使用“timeid”,因为我有多个用户,所以号码不会连续。基本上,顺序是'timeid',但是我想要一个列显示连续的数字。我该怎么做?

最佳答案

1循环外声明一个计数器变量(值为while())。在循环内显示,然后在循环结束时递增。

// your code
$SNo = 1;
while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $SNo . "</td>";
    echo "<td>" . $row['value2'] . "</td>";
    echo "</tr>";
    ++$SNo;
}
// your code

关于php - PHP-如何找出订单号。显示值时的行数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46256173/

10-09 08:23
查看更多