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();

?>


相关内容

热门资讯

王毅会见巴军方高层,谈及伊朗局... 据凤凰卫视报道,中共中央政治局委员、外交部长王毅5月25日在人民大会堂会见巴基斯坦国防军司令兼陆军参...
何妨把课堂打造成学术“直播间” 评论员说 何妨把课堂打造成学术“直播间” ■ 本报评论员 刘晓庆 其实,不只是大学课堂越来越“静悄悄...
空间站完成第8次“太空会师” 5月25日在北京航天飞行控制中心飞控大厅拍摄的神舟二十一号航天员乘组和神舟二十三号航天员乘组拍摄“全...
美军称在伊朗南部实施自卫打击 央视记者获悉,美国中央司令部发言人蒂姆·霍金斯上尉表示,美军25日在伊朗南部实施了自卫打击,“旨在保...
小米押注!闪回科技四次递表港交... 【大河财立方消息】5月25日,闪回科技有限公司(以下简称闪回科技)在港交所提交上市申请,独家保荐人为...
神舟二十三号飞船发射任务圆满成... 乘组一名航天员将开展一年期在轨驻留试验 神舟二十三号飞船发射任务圆满成功 北京时间5月24日23时0...
西安警方:女孩与父亲争执被路人... 5月25日凌晨,针对网传“16岁女孩被陌生男子殴打”一事,西安市公安局莲湖分局发布警情通报。据江西广...
力鼎光电获得外观设计专利授权:... 证券之星消息,根据天眼查APP数据显示力鼎光电(605118)新获得一项外观设计专利授权,专利名为“...
“一箭8星”再启新程!中科宇航... IT之家 5 月 25 日消息,中科宇航今日宣布,近日,力箭一号遥十四运载火箭在中科宇航产业化基地如...
鄠图科普丨一起“趣”阅读|火箭... 火箭发射是太空旅行的开始, 也是人类探索宇宙的重要一步。 火箭是载人和无人航天器进入太空的必备工具,...