Php 如何在结果页中隐藏一些页码?
下面是我用来打印结果页面中页数的代码Php 如何在结果页中隐藏一些页码?,php,paginator,Php,Paginator,下面是我用来打印结果页面中页数的代码 <?PHP echo '<div style="clear:both;display:block;bottom:0;float:right;margin-right:20px;">'; for($i=1; $i<=$page_count; $i++) { if($i == $requested_page) { echo "<span class='pagenumberSelected'><b&
<?PHP
echo '<div style="clear:both;display:block;bottom:0;float:right;margin-right:20px;">';
for($i=1; $i<=$page_count; $i++) {
if($i == $requested_page) {
echo "<span class='pagenumberSelected'><b>$i</b></span> ";
} else {
echo '<a href="index.php?page='.$i.'" class="pagenumber"><b>'.$i.'</b></a> ';
}
}
echo '</div><br>';
?>
我想问一下如何在结果页上隐藏一些页码,以便它们显示如下:
[1] [2] [3] [4] [5] [6] [7] [8] [8] [10] [11] [12] [13] [14] [15]
[First] [Back] [1] [2] [3] [4] [5] ..... [10] [11] [12] [13] [14] [15] [Next] [Show Last]
因此,我必须改变什么使其看起来像这样,我想显示当前打开的5页和所有结果的最后5页。您需要对此应用一些逻辑:
$currPage = 3;
$totalPages = 10;
echo '[First] [Back] ';
for($i=1; $i<=$totalPages; $i++) {
if ($i > 3 && $i< 8) {
echo ' . . . ';
} else {
echo '[<a href="your_link.php?page='.$i.'">' . $i . '</a>] ';
}
}
echo '[Next] [Last] ';
要避免边界外错误,请执行以下操作:
if ($next > $totalPages) $next = $totalPages;
if ($prev < 1) $prev = 1;
这是一种方式:
$page_count = 15;
$limit = 8;
for($i=1; $i<=$page_count; $i++) {
if ($i <= ($limit / 2) || $i > ($page_count - ($limit / 2))) {
echo "[$i] ";
} else {
echo '. ';
}
}
$page\u count=15;
$limit=8;
对于($i=1;$i,请找到范围的边界,然后根据if条件测试页码,以决定是否根据您所在的位置以及每个边界末尾的两组5来显示。这样做不正常。
[First] [Back] [1] [2] [3] . . . . . . . . . . . . [8] [9] [10] [Next] [Last]
$page_count = 15;
$limit = 8;
for($i=1; $i<=$page_count; $i++) {
if ($i <= ($limit / 2) || $i > ($page_count - ($limit / 2))) {
echo "[$i] ";
} else {
echo '. ';
}
}