我想知道如何对这段非常简单的代码进行分页:
<?php
for($i=1;$i<=40;$i++){
echo '<a href="#">'.$i.'</a> | ';
}
?>
它的输出:
我想这样做:
答案 0 :(得分:1)
我假设您希望页面链接“环绕”当前页面。我没有包含上一个和下一个链接,这些链接很容易添加,并且会混淆这个例子。
<?php
$current_page = 10;
$total_pages = 40;
$links = 11;
$start = $current_page - floor($links / 2);
if ($start < 1) {
$start = 1;
}
$end = $start + $links;
if ($end > $total_pages) {
$end = $total_pages;
}
for($i = $start; $i <= $end; ++$i) {
echo '<a href="#">' . $i . '</a> | ';
}
?>
对于第20页,它将为您提供当前页面和任意一侧的5页:
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
答案 1 :(得分:1)
这样的事情可以解决你的问题:
if($_GET['page']!=''){
$page=$_GET['page'];
} else {
$page=1;
}
print "<a href=\"?page=".($page==1 ? '1' : $page-1)."\">Prev</a> |\n";
for($i=$page;$i<=($page+10);$i++){
print "<a href=\"?page={$i}\">{$i}</a> |\n";
}
print "<a href=\"?page=".($page+1)."\">Next</a>\n";
你显然需要根据你的目的进行调整。