


Simple paging class and usage examples implemented in PHP, php paging usage examples_PHP tutorial
Jul 12, 2016 am 08:53 AMPHP實現(xiàn)的簡單分頁類及用法示例,php分頁用法示例
本文實例講述了PHP實現(xiàn)的簡單分頁類及用法。分享給大家供大家參考,具體如下:
<?php /* * 使用: * $page = new Page(連接符,查詢語句,當前頁碼,每頁大小,頁碼符) * 連接符:一個MYSQL連接標識符,如果該參數(shù)留空,則使用最近一個連接 * 查詢語句:SQL語句 * 當前頁碼:指定當前是第幾頁 * 每頁大小:每頁顯示的記錄數(shù) * 頁碼符:指定當前頁面URL格式 * * 使用例子: * $sql = "select * from aa"; * $page = new Page($conn,$sql,$_GET['page'],4,"?page="); * * 獲得當前頁碼 * $page->page; * * 獲得總頁數(shù) * $page->pageCount; * * 獲得總記錄數(shù) * $page->rowCount; * * 獲得本頁記錄數(shù) * $page->listSize; * * 獲得記錄集 * $page->list; * 記錄集是一個2維數(shù)組,例:list[0]['id']訪問第一條記錄的id字段值. * * 獲得頁碼列表 * $page->getPageList(); */ class Page { //基礎數(shù)據(jù) var $sql; var $page; var $pageSize; var $pageStr; //統(tǒng)計數(shù)據(jù) var $pageCount; //頁數(shù) var $rowCount; //記錄數(shù) //結果數(shù)據(jù) var $list = array(); //結果行數(shù)組 var $listSize ; //構造函數(shù) 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; } //查詢總記錄數(shù) $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]; //計算總頁數(shù) 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方法生成一個較簡單的頁碼列表 * 如果需要定制頁碼列表,可以修改這里的代碼,或者使用總頁數(shù)/總記錄數(shù)等信息進行計算生成. */ 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.");//連接數(shù)據(jù)庫 mysql_query("set names 'utf8'");//輸出中文 mysql_select_db('test'); //選擇數(shù)據(jù)庫 $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數(shù)組(Array)操作技巧大全》、《PHP數(shù)學運算技巧總結》、《php正則表達式用法總結》、《PHP+ajax技巧與應用小結》、《PHP運算與運算符用法總結》、《PHP網(wǎng)絡編程技巧總結》、《PHP基本語法入門教程》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

ThePhpfunctionSerialize () andunserialize () AreusedtoconvertcomplexdaTastructdestoresintostoraSandaBackagain.1.Serialize () c OnvertsdatalikecarraysorobjectsraystringcontainingTypeandstructureinformation.2.unserialize () Reconstruct theoriginalatataprom

You can embed PHP code into HTML files, but make sure that the file has an extension of .php so that the server can parse it correctly. Use standard tags to wrap PHP code, insert dynamic content anywhere in HTML. In addition, you can switch PHP and HTML multiple times in the same file to realize dynamic functions such as conditional rendering. Be sure to pay attention to the server configuration and syntax correctness to avoid problems caused by short labels, quotation mark errors or omitted end labels.

The key to writing clean and easy-to-maintain PHP code lies in clear naming, following standards, reasonable structure, making good use of comments and testability. 1. Use clear variables, functions and class names, such as $userData and calculateTotalPrice(); 2. Follow the PSR-12 standard unified code style; 3. Split the code structure according to responsibilities, and organize it using MVC or Laravel-style catalogs; 4. Avoid noodles-style code and split the logic into small functions with a single responsibility; 5. Add comments at key points and write interface documents to clarify parameters, return values ??and exceptions; 6. Improve testability, adopt dependency injection, reduce global state and static methods. These practices improve code quality, collaboration efficiency and post-maintenance ease.

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas
