【发布时间】:2018-07-12 16:23:48
【问题描述】:
我有这个小代码来显示 200 行,我想根据票数给每一行一个数字。
我该怎么做?
这是我想到的,但它不起作用。
$sql = 'SELECT * FROM table LIMIT 200;
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)) {
$row = 1;
echo $row++;
echo $row['fullname'];
echo '<br>';
}
输出使所有行输出为 1。
编辑: 好的,所以一些答案完成了工作,但它不适用于分页。它从第 2、3、4、5 页上的 1 开始计数......这是代码。
<?php
$sql = "SELECT * FROM table";
$result = mysqli_query($conn, $sql);
$result_per_page = 20;
$no_of_result = mysqli_num_rows($result);
$no_of_page = ceil($no_of_result/$result_per_page);
if(!isset($_GET['page'])){
$page = 1;
}else{
$page = $_GET['page'];
}
$page_first = ($page-1)*$result_per_page;
$sql = 'SELECT * FROM table LIMIT ' . $page_first . ',' . $result_per_page;
$result = mysqli_query($conn, $sql);
$num = 1;
while($row = mysqli_fetch_assoc($result)) {
echo $num++;
echo $row['fullname'];
echo '<br>';
}
for($page=1;$page<=$no_of_page;$page++){
echo '<a href="/?page='.$page.'">'.$page.'</a>';
echo ' ';
}
?>
【问题讨论】:
-
在上面的while循环中设置
$number =1;并在while循环右括号之前增加$number++,如$number=1; while(logic){ echo $number; $number++;} -
您不能使用变量
$row来保存计数器和从数据库查询返回的结果集。您需要两个不同的变量。 -
@Mark 请检查更新的 cmets
-
@Mark 你现在正在改变你问题的基础。不要那样做。
-
@Mark 的意思是在分页 2 页面上它将从 1 开始正确吗?