首頁 > 後端開發 > php教程 > 兩步驟快速實現PHP分頁功能,方便實用

兩步驟快速實現PHP分頁功能,方便實用

王林
發布: 2023-04-07 07:52:02
轉載
2086 人瀏覽過

一般情況下我都會把資料庫讀取做一個專用類,裡麵包括有對資料庫的操作,包括分頁等,這樣用起來方便。主要的程式碼有兩段:

一、讀取資料庫並轉換為分頁陣列

程式碼如下:

<?php    
    private function rs2array($sql=&#39;&#39;,$filename=&#39;&#39;,$pagesize=0){//生成二维数组    
            $autopage=false;    
            if (!isset($sql))die("未设置语句!");    
            $str=array();    
            $result = $this->Open_Db($sql);    
            $this->recordcount=$result->recordcount;    
            if ((isset($filename)) && ($pagesize!=0)){//分页开始    
                $autopage=true;    
                $FilesName = $filename;    
                $result->pagesize=$pagesize;    
                $page=$_GET[&#39;page&#39;];    
                if (($page!=&#39;&#39;) && (is_numeric($page))){    
                    $epage = $page;    
                    if ($epage<1)$epage=1;    
                    if ($epage>$result->pagecount)$epage = $result->pagecount;    
                }else{    
                    $epage=1;    
                }    
                if(!$result->eof)$result->Absolutepage=$epage;    
                $whileNum=$result->pagesize;    
            }    
            if(!isset($whileNum))$whileNum=$result->recordcount;    
            for($i=1;$i<=$whileNum;$i++){    
                if($result->eof)break;    
                for($n=0;$n<=($result->fields->count-1);$n++){    
                    $str[$i-1][$result[$n]->name] = $result[$n]->value;    
                }    
                $result->movenext();    
            }    
            if($autopage==true)$this->page = $this->Paging($filename,$result->pagecount,$epage);    
            $result->close();    
            return $str;    
        }    
?>
登入後複製

二、供呼叫的分頁代碼

<?php    
    static private function Paging($FilesName,$PageCount,$page){    
    $PageStr="";    
    $topname=&#39;第一页&#39;;    
    $bottomname=&#39;最末页&#39;;    
    $overname=&#39;上一页&#39;;    
    $upname=&#39;下一页&#39;;    
    $p=$FilesName.&#39;page=&#39;;    
            if ($PageCount>1){    
                if ($page<=1){    
                    $page=1;    
                    $PageStr=&#39;当前第 &#39;.$page.&#39; / &#39;.$PageCount.&#39; 页 [&#39;.$topname.&#39;] [&#39;.$overname.&#39;] <a href="&#39;.$p.($page+1).&#39;">[&#39;.$upname.&#39;]</a> <a href="&#39;.$p.($PageCount).&#39;">[&#39;.$bottomname.&#39;]</a>&#39;;    
                }else if($page>=$PageCount){    
                    $page=$PageCount;    
                    $PageStr=&#39;当前第 &#39;.$page.&#39; / &#39;. $PageCount . &#39; 页 <a href="&#39;.$p.(1).&#39;">[&#39;.$topname.&#39;]</a> <a href="&#39;.$p.($page-1).&#39;">[&#39;.$overname.&#39;]</a> [&#39;.$upname.&#39;] [&#39;.$bottomname.&#39;]&#39;;    
                }else{    
                    $PageStr=&#39;当前第 &#39; . $page . &#39; / &#39;. $PageCount . &#39; 页 <a href="&#39;.$p.(1).&#39;">[&#39;.$topname.&#39;]</a> <a href="&#39;.$p.($page-1).&#39;">[&#39;.$overname.&#39;]</a> <a href="&#39;.$p.($page+1).&#39;">[&#39;.$upname.&#39;]</a> <a href="&#39;.$p.($PageCount).&#39;">[&#39;.$bottomname.&#39;]</a>&#39;;    
                }    
            }else{    
                $PageCount=1;    
                $page=1;    
                $PageStr=(&#39;当前第 &#39; . $page) . &#39; / &#39;. $PageCount . &#39; 页 [&#39;.$topname.&#39;] [&#39;.$overname.&#39;] [&#39;.$upname.&#39;] [&#39;.$bottomname.&#39;]&#39;;    
            }    
            return $PageStr;    
        }    
?>
登入後複製

我覺得這樣在讀取資料庫的時候基本上不用擔心分頁會出什麼問題,而且如果你多個網站欄目的話,分頁都可以調用,非常方便。

以上程式碼不足之處也請指出,謝謝!

更過PHP相關問題請上PHP中文網:https://www.php.cn/

以上是兩步驟快速實現PHP分頁功能,方便實用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:codefans.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板