亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP之簡單的分頁類

發布時間:2020-09-28 09:53:53 來源:網絡 閱讀:659 作者:woaijorden 欄目:web開發

pageClass.php

<?php

class Page{

    private $total;//總條數
    private $size;//每頁條數
    private $pageCount;//總頁數
    private $currentPage;//當前頁碼

    private $showPages = 2;//顯示的頁碼,當前頁面左右各2,就是5頁
    private $pageStart;//顯示頁碼的開始
    private $pageEnd;//顯示頁碼的結束

    public function __construct($total,$size,$currentPage){
        $this->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='<div id=page>';
        $str.= $this->home();
        $str.= $this->lastPage();
        $str.= $this->numPage();
        $str.= $this->nextPage();
        $str.= $this->last();
        $str.= $this->countTotal();
        $str.='</div>';
        return $str;
    }

    //首頁
    private function home(){
        if($this->currentPage==1){
            $str = '<p>首頁</p>';
        }else{
            $str = '<a href=?page=1>首頁</a>';
        }

        return $str;
    }

    //上一頁
    private function lastPage(){
        if($this->currentPage==1){
            $str = '<p>上一頁</p>';
        }else{
            $str = '<a href=?page='.($this->currentPage-1).'>上一頁</a>';
        }

        return $str;
    }

    //中間的數字頁
    private function numPage(){
        $str='<p class="pageRemark">... </p> ';

        for($i=$this->pageStart;$i<=$this->pageEnd;$i++){
            if($i==$this->currentPage){
                $str.='<a class="cur" href=?page='.$i.'>'.$i.'</a>';
            }else{
                $str.='<a href=?page='.$i.'>'.$i.'</a>';
            }

        }
        $str.='<p class="pageRemark">...</p> ';
        return $str;
    }

    //下一頁
    private function nextPage(){
        if($this->currentPage==$this->pageCount){
            $str = '<p>下一頁</p>';
        }else{
            $str = '<a href=?page='.($this->currentPage+1).'>下一頁</a>';
        }

        return $str;
    }

    //末頁
    private function last(){
        if($this->currentPage==$this->pageCount){
            $str = '<p>末頁</p>';
        }else{
            $str = '<a href=?page='.$this->pageCount.'>末頁</a>';
        }

        return $str;
    }

    //統計
    private function countTotal(){
        return '<p class="pageRemark">共<b>13</b>頁<b>100</b>條數據</p>';
    }

}

調用 page.php

<?php
    //引入分頁類
    require_once 'pageClass.php';
    //鏈接數據庫
    try{
        $db = new PDO('mysql:host=127.0.0.1;dbname=shop;charset=utf8;port=3306','root','root');

    }catch(PDOException $e){
        echo 'mysql error:'.$e->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);

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    p{margin:0}
    #page{height:40px;padding:20px 0px;}
    #page a{display:block;float:left;margin-right:10px;padding:2px 12px;height:24px;border:1px #cccccc solid;background:#fff;text-decoration:none;color:#808080;font-size:12px;line-height:24px;}
    #page a:hover{color:#077ee3; border:1px #077ee3 solid;}
    #page a.cur{border:none;background:#43badb;color:#fff;}
    #page p{float:left;padding:2px 12px;font-size:12px;height:24px;line-height:24px;color:#bbb;border:1px #ccc solid;background:#fcfcfc;margin-right:8px;}
    #page p.pageRemark{border-style:none;background:none;margin-right:0px;padding:4px 0px;color:#666;}
    #page p.pageRemark b{color:red;}
    #page p.pageEllipsis{border-style:none;background:none;padding:4px 0px;color:#808080;}
    </style>

</head>
<body>

<?php

    echo '<table>';
    echo '<tr><th>ID</th><th>姓名</th><th>Emai</th><th>手機號</th></tr>';
    foreach($res as $k=>$v){
        echo '<tr><td>'.$v['id'].'</td><td>'.$v['name'].'</td><td>'.$v['email'].'</td><td>'.$v['mobile'].'</td></tr>';
    }
    echo '</table>';

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

?>

</body>
</html>
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

友谊县| 九台市| 葫芦岛市| 洞头县| 偃师市| 来凤县| 宁都县| 邹城市| 大厂| 始兴县| 广灵县| 玉树县| 五常市| 孝昌县| 奎屯市| 沽源县| 崇明县| 马关县| 三都| 通渭县| 屯留县| 麻江县| 庆阳市| 乐都县| 休宁县| 禹州市| 宁德市| 江山市| 怀来县| 永春县| 法库县| 白银市| 青海省| 阿荣旗| 合山市| 南阳市| 咸宁市| 宽甸| 星子县| 呼玛县| 息烽县|