php 實作的簡單分頁類別程式碼範例用法
分页 (pagination),即将一个页面分成两个或两个以上的页面。
有一种自动分页机制,可以将移动 Web窗体中的内
容分割成一组组较小的页进行呈现,以适合于特定的设备。该机制还呈现可用于浏览到其他页的用户界面元素。
这篇文章主要介绍了PHP实现的简单分页类及用法,结合实例形式分析的PHP分页类的功能、定义与具体使用技巧,需要的朋友可以参考下,具体如下:
<?php /* * 使用: * $page = new Page(连接符,查询语句,当前页码,每页大小,页码符) * 连接符:一个MYSQL连接标识符,如果该参数留空,则使用最近一个连接 * 查询语句:SQL语句 * 当前页码:指定当前是第几页 * 每页大小:每页显示的记录数 * 页码符:指定当前页面URL格式 * * 使用例子: * $sql = "select * from aa"; * $page = new Page($conn,$sql,$_GET['page'],4,"?page="); * * 获得当前页码 * $page->page; * * 获得总页数 * $page->pageCount; * * 获得总记录数 * $page->rowCount; * * 获得本页记录数 * $page->listSize; * * 获得记录集 * $page->list; * 记录集是一个2维数组,例:list[0]['id']访问第一条记录的id字段值. * * 获得页码列表 * $page->getPageList(); */ class Page { //基础数据 var $sql; var $page; var $pageSize; var $pageStr; //统计数据 var $pageCount; //页数 var $rowCount; //记录数 //结果数据 var $list = array(); //结果行数组 var $listSize ; //构造函数 function Page($conn,$sql_in,$page_in,$pageSize_in,$pageStr_in) { $this->sql = $sql_in; $this->page = intval($page_in); $this->pageSize = $pageSize_in; $this->pageStr = $pageStr_in; //页码为空或小于1的处理 if(!$this->page||$this->page<1) { $this->page = 1; } //查询总记录数 $rowCountSql = preg_replace("/([\w\W]*?select)([\w\W]*?)(from[\w\W]*?)/i","$1 count(0) $3",$this->sql); if(!$conn) $rs = mysql_query($rowCountSql) or die("bnc.page: error on getting rowCount."); else $rs = mysql_query($rowCountSql,$conn) or die("bnc.page: error on getting rowCount."); $rowCountRow = mysql_fetch_row($rs); $this->rowCount=$rowCountRow[0]; //计算总页数 if($this->rowCount%$this->pageSize==0) $this->pageCount = intval($this->rowCount/$this->pageSize); else $this->pageCount = intval($this->rowCount/$this->pageSize)+1; //SQL偏移量 $offset = ($this->page-1)*$this->pageSize; if(!$conn) $rs = mysql_query($this->sql." limit $offset,".$this->pageSize) or die("bnc.page: error on listing."); else $rs = mysql_query($this->sql." limit $offset,".$this->pageSize,$conn) or die("bnc.page: error on listing."); while($row=mysql_fetch_array($rs)) { $this->list[]=$row; } $this->listSize = count($this->list); } /* * getPageList方法生成一个较简单的页码列表 * 如果需要定制页码列表,可以修改这里的代码,或者使用总页数/总记录数等信息进行计算生成. */ function getPageList() { $firstPage; $previousPage; $pageList; $nextPage; $lastPage; $currentPage; //如果页码>1则显示首页连接 if($this->page>1) { $firstPage = "<a href=\"".$this->pageStr."1\">首页</a>"; } //如果页码>1则显示上一页连接 if($this->page>1) { $previousPage = "<a href=\"".$this->pageStr.($this->page-1)."\">上一页</a>"; } //如果没到尾页则显示下一页连接 if($this->page<$this->pageCount) { $nextPage = "<a href=\"".$this->pageStr.($this->page+1)."\">下一页</a>"; } //如果没到尾页则显示尾页连接 if($this->page<$this->pageCount) { $lastPage = "<a href=\"".$this->pageStr.$this->pageCount."\">尾页</a>"; } //所有页码列表 for($counter=1;$counter<=$this->pageCount;$counter++) { if($this->page == $counter) { $currentPage = "<b>".$counter."</b>"; } else { $currentPage = " "."<a href=\"".$this->pageStr.$counter."\">".$counter."</a>"." "; } $pageList .= $currentPage; } return $firstPage." ".$previousPage." ".$pageList." ".$nextPage." ".$lastPage." "; } } ?>
用法示例:
<?php @$db = mysql_connect('localhost', 'root', '123456') or die("Could not connect to database.");//连接数据库 mysql_query("set names 'utf8'");//输出中文 mysql_select_db('test'); //选择数据库 $sql = "select * from `users`"; //一个简单的查询 $page = new Page('',$sql,$_GET['page'],5,"?page="); $rows = $page->list; foreach($rows as $row) { echo $row['UserName']."<br>"; } echo $page->getPageList(); //输出分页列表 ?>
以上是php 實作的簡單分頁類別程式碼範例用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱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)

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。

Laravel優化Web開發流程的方法包括:1.使用路由系統管理URL結構;2.利用Blade模板引擎簡化視圖開發;3.通過隊列處理耗時任務;4.使用EloquentORM簡化數據庫操作;5.遵循最佳實踐提高代碼質量和可維護性。

在IIS上配置和運行PHP需要以下步驟:1)下載並安裝PHP,2)配置IIS並添加FastCGI模塊,3)創建並設置應用池,4)創建網站並綁定到應用池。通過這些步驟,你可以在Windows服務器上輕鬆部署PHP應用,並通過配置擴展和優化性能來提升應用的穩定性和效率。

HTML5帶來了五個關鍵改進:1.語義化標籤提升了代碼清晰度和SEO效果;2.多媒體支持簡化了視頻和音頻嵌入;3.表單增強簡化了驗證;4.離線與本地存儲提高了用戶體驗;5.畫布與圖形功能增強了網頁的可視化效果。
