php分頁類別實例詳解
本文主和大家詳細介紹了萬能的php分頁類,具有一定的參考價值,有興趣的小夥伴們可以參考一下,希望能幫助到大家。
<?php /*核心:首页、上一页、下一页、尾页的url*/ /*超全局$_SERVER*/ $page = new Page(5,60); var_dump($page->allUrl()); class Page{ // 每页显示的个数 protected $number; // 一共有多少数据 protected $totalCount; // 当前页 protected $page; // url protected $url; public function __construct($number,$totalCount){ $this->number= $number; $this->totalCount = $totalCount; //得到总页数 $this->totalPage = $this->getTotalPage(); //得到当前页数 $this->page = $this->getPage(); //得到URL $this->url = $this->getUrl(); echo $this->url; } /*得到总页数并向上取整*/ protected function getTotalPage(){ return ceil($this->totalCount/$this->number); } /**/ protected function getPage(){ if (empty($_GET['page'])){ $page=1; }elseif ($_GET['page'] > $this->totalPage){ $page = $this->totalPage; }elseif ($_GET["page"]<1){ $page = 1; }else{ $page = $_GET['page']; } return $page; } protected function getUrl(){ //得到协议名 $scheme = $_SERVER['REQUEST_SCHEME']; //得到主机名 $host= $_SERVER['SERVER_NAME']; //得到端口号 $port = $_SERVER['SERVER_PORT']; //得到路径和请求字符串 $url = $_SERVER['REQUEST_URI']; /*中间做处理,要将page=5等这种字符串拼接URL 中,所以如果原来的url中有page这个参数,我们首先 需要将原来的page参数给清空*/ $urlArray = parse_url($url); // var_dump($urlArray); $path = $urlArray['path']; if (!empty($urlArray['query'])){ //将query中的值转化为数组 parse_str($urlArray['query'],$array); //如果他有page就将它删掉 unset($array['page']); //将关联数组转化为query $query = http_build_query($array); //不为空的话就与path连结 if ($query != ''){ $path = $path.'?'.$query; } } return 'http://'. $host.':'.$port.$path; } protected function setUrl($str){ if (strstr($this->url, '?')){ $url = $this->url.'&'.$str; }else{ $url = $this->url.'?'.$str; } return $url; } /*所有的url*/ public function allUrl(){ return [ 'first' => $this->first(), 'next' => $this->next(), 'prev'=> $this->prev(), 'end'=> $this->end(), ]; } /*首页*/ public function first(){ return $this->setUrl('page=1'); } /*下一页*/ public function next(){ //根据当前page得带下一页的页码 if ($this->page+1 > $this->totalPage) { $page = $this->totalPage; }else{ $page = $this->page+1; } return $this->setUrl('page='.$page); } /*上一页*/ public function prev(){ //根据当前page得带下一页的页码 if ($this->page - 1 < 1) { $page = 1; }else{ $page = $this->page-1; } return $this->setUrl('page='.$page); } /*尾页*/ public function end(){ return $this->setUrl('page='.$this->totalPage); } /*limit 0,5*/ public function limit(){ $offset = ($this->page-1)*$this->number; return $offset.','.$this->number; } }
相關推薦:
以上是php分頁類別實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Stock Market GPT
人工智慧支援投資研究,做出更明智的決策

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

fatalErrorsinphaltexecutionandCannotBegaughtbytry-catchBlocks.2.useregister_shutdown_function()todetectfataLerrorSviaErrorsviaErrorsviaError_get_get_last()andRespondApprprraper.3.combinewithset_error_error_handler_handler_handler()

使用array_unique()函數可移除數組中的重複值,保留首次出現的元素,適用於索引和關聯數組,例如:$fruits=['apple','banana','apple','orange','banana'];$unique_fruits=array_unique($fruits);結果為['apple','banana','orange'];該函數保持原鍵名,若需重新索引,可用array_values();注意其基於字符串比較,混合類型可能影響結果,如需嚴格類型檢查,建議自定義循環處理。

usePredePredStatementSwithpDoorMysqlitoseParatesqllogicFromData,defrementingUserInputfrombeingExecudeCedeceDecudedAscode.2.validateandateandateandateandateAndateAndeAttuptoensureitMatchesexpectionformats,sueSasasusingfilter_var()

構造函數__construct()在對象創建時自動執行,用於初始化,如賦值或建立連接;2.析構函數__destruct()在對象銷毀時調用,用於釋放資源,如關閉文件,兩者共同管理PHP對像生命週期。

生成器通過逐個產出值而非一次性返回完整數組,有效節省內存。使用yield的函數返回Generator對象,按需生成值,避免大量數據佔用內存。

Useis_null () OR === tocheck fornullinphp.is_null ($ was) Returnstrueif $ Varisnull.al alternatives, $ was === zerensuresonlynullvalu Esreturntrue, avoidal false -positival vocal quality0orphalse.Avoid == asitmayincorrectlyevaluateotherfalsyvalues zone.

使用preg_match()進行單次匹配,preg_match_all()進行全局匹配,結合正則修飾符和轉義特殊字符可有效實現PHP中的模式匹配。

使用basename(__FILE__)可獲取當前腳本文件名(如index.php),適用於需要可靠文件名的場景;__FILE__返回完整路徑,$_SERVER['PHP_SELF']返回相對於網站根目錄的訪問路徑,用於構建URL等請求相關操作。
