欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学习php分页代码实例

程序员文章站 2022-06-14 12:14:39
php分页有很多方法,今天我们就用一个小例子演示一下这个功能。复制代码 代码如下:$result = "
<...

php分页有很多方法,今天我们就用一个小例子演示一下这个功能。

复制代码 代码如下:

$result = "<div class=\"page-num\"><ul class=\"fn-clear\">";

    // 上一页
    if ($offset>0) {
        $result .= "<li>
            <a href=\"".$url.'offset='.($offset-$maxrow)."\">prev</a>
        </li>";
    }

    $pages = $allpagenums;  //总页数
    $page = $curpage;    //当前页数
    $page_len = 9;
    $page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
    $pageoffset = ($page_len-1)/2;//页码个数左右偏移量
    if($pages>$page_len){
        //如果当前页小于等于左偏移
        if($page<=$pageoffset){
            $init=1;
            $max_p = $page_len;
        }else{//如果当前页大于左偏移
            //如果当前页码右偏移超出最大分页数
            if($page+$pageoffset>=$pages+1){
                $init = $pages-$page_len+1;
         $max_p = $pages;
            }else{
                //左右偏移都存在时的计算
                $init = $page-$pageoffset;
                $max_p = $page+$pageoffset;
            }
        }
    } else {
  
      $init = 1;
      $max_p = $pages;
  }

    for($i=$init; $i<=$max_p; $i++) {

        if ( $i == $curpage ) {
            $result .=    "<li class=\"on\"><a href=\"".$url.'offset='.($i*$maxrow)."\" >$i</a></li>";
            continue;
        }

        $result .=    "<li><a href=\"".$url.'offset='.(($i-1)*$maxrow)."\">$i</a></li>";

    }

    // 打印下一页
    if ( $allnums > ($offset+$maxrow) ) {
        $result .=    "<li>
            <a href=\"".$url.'offset='.($offset+$maxrow)."\">next</a>
        </li>";
    }