PHP之简单的分页类
admin
2023-06-13 04:22:16
0

pageClass.php

total = $total;
        $this->size = $size;
        $this->pageCount=ceil($total/$size);
        $this->currentPage=$currentPage;

        $this->pageStart = $this->currentPage-$this->showPages;
        $this->pageEnd = $this->currentPage+$this->showPages;

        //如果起始页码小于1那么就设定为1
        if($this->pageStart<=1){
            //难点

            $this->pageEnd = $this->pageEnd+(1-$this->pageStart);
            $this->pageStart=1;

        }

        //如果结束页大于总页数,重置结束页=总页数
        if($this->pageEnd>=$this->pageCount){

            //难点
            if($this->pageCount<$this->showPages*2+1){
                $this->pageStart=1;
            }else{
                $this->pageStart=$this->pageStart-($this->pageEnd-$this->pageCount);
            }

            $this->pageEnd=$this->pageCount;

        }

    }

    public function Pages(){

        $str='
'; $str.= $this->home(); $str.= $this->lastPage(); $str.= $this->numPage(); $str.= $this->nextPage(); $str.= $this->last(); $str.= $this->countTotal(); $str.='
'; return $str; } //首页 private function home(){ if($this->currentPage==1){ $str = '

首页

'; }else{ $str = '首页'; } return $str; } //上一页 private function lastPage(){ if($this->currentPage==1){ $str = '

上一页

'; }else{ $str = 'currentPage-1).'>上一页'; } return $str; } //中间的数字页 private function numPage(){ $str='

...

'; for($i=$this->pageStart;$i<=$this->pageEnd;$i++){ if($i==$this->currentPage){ $str.=''.$i.''; }else{ $str.=''.$i.''; } } $str.='

...

'; return $str; } //下一页 private function nextPage(){ if($this->currentPage==$this->pageCount){ $str = '

下一页

'; }else{ $str = 'currentPage+1).'>下一页'; } return $str; } //末页 private function last(){ if($this->currentPage==$this->pageCount){ $str = '

末页

'; }else{ $str = 'pageCount.'>末页'; } return $str; } //统计 private function countTotal(){ return '

13100条数据

'; } }

调用 page.php

getMessage();
    }

    $sql = 'select * from student';
    $stmt = $db->prepare($sql);
    $stmt->execute();
    //获取总条数
    $total = $stmt->rowCount();
    $size = 5;//每页条数      0,8;    8,8    16,8
    //如果不存在第一页,则默认第一页
    isset($_GET['page'])?$currentPage = $_GET['page']:$currentPage=1;
    $sql.=" limit ".($currentPage-1)*$size.",$size";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    //查询结果集
    $res = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>



    
    Document
    




';
    echo 'ID姓名Emai手机号';
    foreach($res as $k=>$v){
        echo ''.$v['id'].''.$v['name'].''.$v['email'].''.$v['mobile'].'';
    }
    echo '';

$page = new Page($total,$size,$currentPage);
echo $page->Pages();

?>


相关内容

热门资讯

推拉门滑轮坏了怎么修 推拉门滑轮坏了怎么修?首先我们要先把推拉门给拆卸下来。因为它的滑轮坏了,一定要把它拆卸下来再更换新的...
苹果iPhone 17 Pro... IT之家 5 月 26 日消息,科技媒体 Appleinsider 昨日(5 月 25 日)发布博文...
就医缴费的“场景密码”:四种支... 一边带娃一边排队缴费、忘带医保卡干着急、左手医保码右手付款码、住院先凑押金出院再排队…… 这些就医“...
AI让科学家“淡出”科研,“科... 来源:滚动播报 (来源:上观新闻) 上海科技节上,AI与科研成为一个热点话题。 AI能看到人无法感...
“AI+健康”正在构筑怎样的新... 复旦大学公共卫生学院党委书记罗力致辞 在近日召开的第79届世界卫生大会期间,一场高规格的世界卫生组织...
伊朗最高领袖就医情况曝光 新华社德黑兰5月25日电 伊朗媒体25日援引伊朗卫生部公共关系主管克尔曼普尔的话报道,伊朗最高领袖穆...
宇树科技预告上半年业绩 【大河财立方消息】 5月25日,据宇树科技招股书,公司2026年1~3月实现营业收入4.23亿元,同...
重庆高新开发集团原党委书记、董... 经重庆市委批准,重庆市纪委监委对重庆高新开发集团原党委书记、董事长杜国平严重违纪违法问题进行了立案审...
投资额327亿元,河南6个高速... 【大河财立方消息】 近日,京港澳高速郑州段等6个高速改扩建项目工程可行性研究报告编制及前期要件办理服...
国务院任免国家工作人员!免去张... 【大河财立方消息】5月25日,国务院任免国家工作人员。任命高松为北京大学校长。免去张云明的工业和信息...