Php 陈列分页
我有一些分页问题。我的分页工作很好。但我想显示开始的3页,然后我想显示(..),最后我想显示我的最后一页。这是我的密码:Php 陈列分页,php,Php,我有一些分页问题。我的分页工作很好。但我想显示开始的3页,然后我想显示(..),最后我想显示我的最后一页。这是我的密码: <?php $videocount= 1000; $page = (!isset($_GET['page']))? 1 : $_GET['page']; $prev = ($page - 1); $next = ($page + 1); /* Max results per page */ $max_results = 50; /* Calculate the of
<?php
$videocount= 1000;
$page = (!isset($_GET['page']))? 1 : $_GET['page'];
$prev = ($page - 1);
$next = ($page + 1);
/* Max results per page */
$max_results = 50;
/* Calculate the offset */
$from = (($page * $max_results) - $max_results);
$last = $from + $max_results;
/* Query the Api for total results.*/
//$total=107;
$total_results = $videocount;
$total_pages = ceil($total_results / $max_results);
if($page==$total_pages ){
$last=$total_results ;
}else{
$last=$last;
}
$pagination = '';
/* Create a PREV link if there is one */
if($page > 1) {
$pagination.= '<li> <a href="?&page='.$prev.'"> <span class="prevBtn"><i class="fa fa-caret-left"></i> Previous</span> </a></li>';
}
/* Loop through the total pages */
//for($i = 1; $i <= $total_pages; $i++) before meeting code
for($i = 1; $i <= $total_pages; $i++) {
if(($page) == $i) {
//$pagination .= $i;
$pagination .= '<li> <a href="#"> <span>'.$i.' </span> </a></li>'; //implement active class here
} else {
$pagination .= '<li> <a href="?page='.$i.'"> <span> '.$i.' </span> </a></li>';
}
}
if($page < $total_pages) {
$pagination.= '<li> <a href="?page='.$next.'"> <span class="nextBtn"> Next <i class="fa fa-caret-right"></i> </span> </a></li>';
}
?>
谢谢,我在代码的循环中添加了If…Else语句。这可能对你有帮助
<?php
$videocount= 1000;
$page = (!isset($_GET['page']))? 1 : $_GET['page'];
$prev = ($page - 1);
$next = ($page + 1);
/* Max results per page */
$max_results = 50;
/* Calculate the offset */
$from = (($page * $max_results) - $max_results);
$last=$from + $max_results;
/* Query the Api for total results.*/
//$total=107;
$total_results = $videocount;
$total_pages = ceil($total_results / $max_results);
if($page==$total_pages ) {
$last=$total_results ;
} else {
$last=$last;
}
$pagination = '';
/* Create a PREV link if there is one */
if($page > 1) {
$pagination.= '<li> <a href="?&page='.$prev.'"> <span class="prevBtn"><i class="fa fa-caret-left"></i> Previous</span> </a></li>';
}
/* Loop through the total pages */
//for($i = 1; $i <= $total_pages; $i++) before meeting code
for($i = 1; $i <= $total_pages; $i++) {
if(($page) == $i) {
//$pagination .= $i;
$pagination .= '<li> <a href="#"> <span>'.$i.' </span> </a></li>'; //implement active class here
} else {
//Display first 3 pages
if($i<=3)
$pagination .= '<li> <a href="?page='.$i.'"> <span> '.$i.' </span> </a></li>';
//Display last 3 pages
else if($total_pages-$i<3)
$pagination .= '<li> <a href="?page='.$i.'"> <span> '.$i.' </span> </a></li>';
else {
if($total_pages-$i<=6)
$pagination .= '<li> <a href="?page='.$i.'"> <span> . </span> </a></li>';
}
}
}
if($page < $total_pages) {
$pagination.= '<li> <a href="?page='.$next.'"> <span class="nextBtn"> Next <i class="fa fa-caret-right"></i> </span> </a></li>';
}
echo $pagination;
?>
“试试这个”并不能很好地描述问题所在以及解决方案中的问题所在。也许有些符号是正确的。谢谢你的回答,先生……你的代码格式是1,2,3……18,19,20,但我想要的格式是1,2,3,。。。。20@Rasclatt谢谢你的建议,我已经更正了描述