php分页功能简记

本文详细介绍了如何在网页中实现并优化分页导航功能,包括分页显示、跳转和信息展示等关键部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

class Paging{
    private $pageNow;
    private $page_whole;
    private $pageShowMore;
    private $pageCount;
    private $pagesShow;

    /**
     * 
     * @param 当前页 $pageNow
     * @param 超链接数量 $page_whole
     * @param 总共多少页 $pageCount
     */
    public function __construct($pageNow,$page_whole,$pageCount){
        $this->pageNow=$pageNow;
        $this->page_whole=$page_whole;
        $this->pageShowMore=ceil($this->pageNow/$this->page_whole)*$this->page_whole;
        $this->pageCount=$pageCount;
    }

    public function Show(){
        $this->ShowStratPage();
        $this->ShowLastPage();
        $this->ShowFrontPages();
        $this->ShowPages();
        $this->ShowBackPages();
        $this->ShowNextPage();
        $this->ShowEndPage();
        $this->ShowPageInfo();
        return $this->pagesShow;
    }
    
    private function ShowFrontPages(){
        if($this->pageNow>$this->page_whole){
            $Mpage=$this->pageShowMore+1-$this->page_whole*2;
            $this->pagesShow['frontPages']="  <a href='?page={$Mpage}'><<</a>  ";
        }
    }
    
    private function ShowBackPages(){
        $test=floor($this->pageCount/$this->page_whole)*$this->page_whole;
        if($this->pageNow<=$test){
            $Mpage=$this->pageShowMore+1;
            $this->pagesShow['backPages']="  <a href='?page={$Mpage}'>>></a>  ";
        }
    }
    
    private function ShowStratPage(){
        $this->pagesShow['start']="<a href='?page=1'>首页</a>  ";
    }
    
    private function ShowEndPage(){
        $this->pagesShow['end']="<a href='?page=".$this->pageCount."'>尾页</a>  ";
    }
    
    private function ShowLastPage(){
        if($this->pageNow>1){
            $t=$this->pageNow-1;
            $this->pagesShow['lastPage']="<a href='?page=".$t."'>上一页</a>  ";
        }
    }
    
    private function ShowNextPage(){
        if($this->pageNow<$this->pageCount){
            $t=$this->pageNow+1;
            $this->pagesShow['nextPage']="<a href='?page=".$t."'>下一页</a>  ";
        }
    }
    
    private function ShowPages(){
        $str="";
        for ($i=$this->pageShowMore-$this->page_whole+1;$i<=$this->pageShowMore;$i++){
            $str.= " <a href='?page={$i}'>{$i}</a> ";
            if($i==$this->pageCount){
                break;
            }
        }
        $this->pagesShow['showPages']=$str;
    }
    
    private function ShowPageInfo(){
        $this->pagesShow['Info']="当前第<span style='color:red'>{$this->pageNow}</span>页/共有{$this->pageCount}页";
    }
}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值