php通用分页种
php通用分页类
<?php interface ILink { public function parse($page,$param); } ?>
?
<?php require'ILink.php'; class LinkAdapter implements ILink { /** * @param unknown_type $page * @param unknown_type $param */ public function parse($page, $param) { $temp="共{$page->getAllPage()}页,第{$page->getCurrentPage()}页 "; $links=$this->getLinkString($param); if($page->hasPrevious())$temp.="<a href="%24links=%22.(%24page->getCurrentPage()-1).%22">上一页</a> ";else{$temp.="上一页 ";} for($i=$page->getCurrentPage();$igetAllPage()&&$igetPerRecords();$i++) { $temp.="<a href="%24links=%24i">{$i}</a> "; } if($page->hasNext())$temp.="<a href="%24links=%22.(%24page->getCurrentPage()+1).%22">下一页</a> ";else{$temp.="下一页 ";} return $temp; } public function getLinkString($param) { $str=""; $attr=$_GET; unset($attr[$param]); if($attr) { foreach($attr as $key=>$val) { if($str=="") { $str.="?$key=$val"; } else { $str.="&$key=$val"; } } $str.="&$param"; } else { $str.="?$param"; } return $str; } } ?>
??
<?php class Page { private $allPage;#总页数 private $allRecords;#总记录数 private $perRecords;#单页记录数 private $currentPage=1;#当前页面 /** * @return the $allPage */ public function getAllPage() { return $this->allPage; } /** * @return the $allRecords */ public function getAllRecords() { return $this->allRecords; } /** * @return the $perRecords */ public function getPerRecords() { return $this->perRecords; } /** * @return the $currentPage */ public function getCurrentPage() { return $this->currentPage; } /** * @param $allPage the $allPage to set */ public function setAllPage($allPage) { $this->allPage = ($allPage%$this->perRecords == 0)?($allPage/$this->perRecords):($allPage/$this->perRecords+1); $this->allPage=intval($this->allPage); } /** * @param $allRecords the $allRecords to set */ public function setAllRecords($allRecords) { $this->allRecords = $allRecords; } /** * @param $perRecords the $perRecords to set */ public function setPerRecords($perRecords) { $this->perRecords = $perRecords; } /** * @param $currentPage the $currentPage to set */ public function setCurrentPage($currentPage) { if ($currentPage currentPage = 1; else if ($currentPage > $this->allPage) $this->currentPage =$this->allPage; else $this->currentPage=$currentPage; } public function hasNext() { return $this->currentPageallPage; } public function hasPrevious() { return $this->currentPage>1; } public function getEndIndex() { return ((($this->currentPage-1)*$this->perRecords)+$this->perRecords)>$this->allRecords?((($this->currentPage-1)*$this->perRecords)+$this->perRecords)-$this->allRecords:$this->perRecords; } public function getStartIndex() { return ($this->currentPage-1)*$this->perRecords; } } ?>
?
<?php require'Page.php'; require'LinkAdapter.php'; class Pager { private $list=array(); private $page;#分页对象 private $param;#页面请求参数 public function __construct($list) { $this->list=$list; $this->page=new Page(); } /** * * @param unknown_type $rows 显示的数据量 * @param unknown_type $current 当前页 */ public function init($rows=5,$current) { $this->page->setAllRecords(count($this->list)); $this->page->setPerRecords($rows); $this->page->setAllPage(count($this->list)); $this->page->setCurrentPage($current); $this->list=array_slice($this->list,$this->page->getStartIndex(),$this->page->getEndIndex()); } /** * 获取分页变量 */ public function getVar() { return $this->list; } /** * @return the $param */ public function getParam() { return $this->param; } /** * @param $param the $param to set */ public function setParam($param) { $this->param = $param; } /** * 加载插件信息,获取生成的链接,装饰器模式 * @param unknown_type $link */ public function getLink($link=null) { if(!empty($link)||!(($link instanceof ILink)))$link=new LinkAdapter(); return $link->parse($this->page,$this->param); } } ?>
?
<?php include'lib/Pager.php'; $target=array(); for($i=0;$i<=100;$i++){$target[]=$i;} $page=new Pager($target); $page->setParam("page"); $page->init(30,$_REQUEST['page']); $list=$page->getVar(); foreach($list as $val): echo $val.'<br>'; endforeach; echo $page->getLink(); ?>
?下载

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

function是函數的意思,是一段具有特定功能的可重複使用的程式碼區塊,是程式的基本組成單元之一,可以接受輸入參數,執行特定的操作,並傳回結果,其目的是封裝一段可重複使用的程式碼,提高程式碼的可重複使用性和可維護性。

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

Vue專案中實現資料的分頁和顯示優化在Vue專案中,當頁面需要展示大量資料時,通常需要進行資料的分頁和顯示最佳化以提高使用者體驗,本文將介紹如何使用Vue實現資料的分頁和顯示最佳化,並提供具體的程式碼範例。一、資料分頁資料分頁是指將大量資料依照一定的規則分割成多頁,並在頁面上進行分頁顯示。 Vue專案中可以使用下列步驟來實現資料分頁:定義資料來源首先,定義一個包含所有數

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:

在本文中,我們將了解enumerate()函數以及Python中「enumerate()」函數的用途。什麼是enumerate()函數? Python的enumerate()函數接受資料集合作為參數並傳回一個枚舉物件。枚舉物件以鍵值對的形式傳回。 key是每個item對應的索引,value是items。語法enumerate(iterable,start)參數iterable-傳入的資料集合可以作為枚舉物件傳回,稱為iterablestart-顧名思義,枚舉物件的起始索引由start定義。如果我們忽

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

MySQL.proc表的功能與功能詳解MySQL是一種流行的關係型資料庫管理系統,開發者在使用MySQL時常常會涉及到預存程序(StoredProcedure)的建立與管理。而MySQL.proc表則是一個非常重要的系統表,它儲存了資料庫中所有的預存程序的相關信息,包括預存程序的名稱、定義、參數等。在本文中,我們將詳細解釋MySQL.proc表的作用與功能
