2012-10-04 34 views

回答

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

像这样的事情会解决你的问题:

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"; 

你显然会无论你的目的是什么,都需要调整。

相关问题