我有使用php的分页页面。我在表格中添加$i
以在我的表格中编号。我将每页的记录设置为10.问题是,当我单击下一个或第2页时,我的while循环中的数字又回到了1-10。我怎样才能继续编号?
我有166条记录。记录应显示1-10页1和11-20页2,依此类推。
<?php
echo'<table>
<tr>
<td></td>
</tr> ';
$i = 1;
while($row = $result1->fetch_assoc()) {
echo'<tr>
<td>'.$i++.'</td>
</tr>';
}
echo'</table>';
?>
这是我的分页的一些细节
$id = $mysqli->real_escape_string($_GET["q"]);
$id2 = $mysqli->real_escape_string($_GET["id"]);
if (isset($_GET['id'])) {
$id2 = preg_replace('#[^0-9]#i', '', $_GET['id']);
} else {
$id2 = 1;
}
$itemsPerPage = 10;
$lastPage = ceil($nr / $itemsPerPage);
if ($id2 < 1) {
$id2 = 1;
} else if ($id2 > $lastPage) {
$id2 = $lastPage;
}
答案 0 :(得分:1)
您需要添加页码,将$_GET['page']
替换为您的approprite。假设yourpage.php?page=2
if(isset($_GET['page'])){
$i = (($_GET['page']-1) * 10)+1; // You current page number x No.of records + 1 // 2page * 10 reocrds per page + 1 = 21;
}else{
$i = 1;
}
答案 1 :(得分:1)
张$i
值与页码。
$i = $page_no * $page_size + 1;
答案 2 :(得分:0)
在$i = 1;
之前移除while
并将其放入循环
while($row = $result1->fetch_assoc())
{
echo'<tr>
<td>'.$i++.'</td> /* increment i here will be hust fine */
</tr>';
}
这样,每当你的循环运行时,i
将被迭代以完全调用它应该的计数!!
答案 3 :(得分:0)
您可以简单地将页码和页面大小相乘并添加当前的数字
$totalpagerows = 10;
if($_GET['page']!=""){
if($_GET['page']>1){
$pagenew =$_GET['page']-1;
}
else{
pagenew =1;
}
$i = ($pagenew * $totalpagerows )+1;
}else{
$i = 1;
}