Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 陈列分页_Php - Fatal编程技术网

Php 陈列分页

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

我有一些分页问题。我的分页工作很好。但我想显示开始的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 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谢谢你的建议,我已经更正了描述