学习php分页代码实例

时间:2022-06-24 21:22:39

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