日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
快速掌握PHP文章分頁技巧

PHP語言為我們帶來了許多功能的實現(xiàn),應用范圍非常廣泛。我們今天為大家詳細講解有關PHP文章分頁的相關實現(xiàn)方法。希望多大家有所幫助。#t#

成都創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為資興企業(yè)提供專業(yè)的網(wǎng)站建設、成都做網(wǎng)站,資興網(wǎng)站改版等技術服務。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

1、前言

對于web編程的老手來說,編寫這種代碼實在是和呼吸一樣自然,但是對于初學者來說,常常對這個問題摸不著頭緒,因此特地撰寫此文對這個問題進行詳細的講解,力求讓看完這篇文章的朋友在看完以后對于分頁顯示的原理和實現(xiàn)方法有所了解。本文適合初學者閱讀,所有示例代碼均使用php編寫。

2、PHP文章分頁原理

所謂分頁顯示,也就是將數(shù)據(jù)庫中的結果集人為的分成一段一段的來顯示,這里需要兩個初始的參數(shù):

每頁多少條記錄($PageSize)?
當前是第幾頁($CurrentPageID)?

現(xiàn)在只要再給我一個結果集,我就可以顯示某段特定的結果出來。
至于其他的參數(shù),比如:上一頁($PreviousPageID)、下一頁($NextPageID)、總頁數(shù)($numPages)等等,都可以根據(jù)前邊這幾個東西得到。
以mysql數(shù)據(jù)庫為例,如果要從表內截取某段內容,sql語句可以用:select * from table limit offset, rows??纯聪旅嬉唤Msql語句,嘗試一下發(fā)現(xiàn)其中的規(guī)率。

前10條記錄:select * from table limit 0,10
第11至20條記錄:select * from table limit 10,10
第21至30條記錄:select * from table limit 20,10
……

這一組sql語句其實就是當$PageSize=10的時候取表內每一頁數(shù)據(jù)的sql語句,我們可以總結出這樣一個模板:

select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize

拿這個模板代入對應的值和上邊那一組sql語句對照一下看看是不是那么回事。搞定了最重要的如何獲取數(shù)據(jù)的問題以后,剩下的就僅僅是傳遞參數(shù),構造合適的sql語句然后使用php從數(shù)據(jù)庫內獲取數(shù)據(jù)并顯示了。以下我將用具體代碼加以說明。

3、PHP文章分頁簡單代碼

請詳細閱讀以下代碼,自己調試運行一次,***把它修改一次,加上自己的功能,比如搜索等等。

 
 
 
  1. < ?php  
  2. // 建立數(shù)據(jù)庫連接  
  3. $link = mysql_connect("localhost", 
    "mysql_user", "mysql_password")   
  4. or die("Could not connect: " . mysql_error());   
  5. // 獲取當前頁數(shù)  
  6. if( isset($_GET['page']) ){  
  7. $page = intval( $_GET['page'] );  
  8. }  
  9. else{  
  10. $page = 1;  
  11. }   
  12. // 每頁數(shù)量  
  13. $PageSize = 10;   
  14. // 獲取總數(shù)據(jù)量  
  15. $sql = "select count(*) as amount from table";  
  16. $result = mysql_query($sql);  
  17. $row = mysql_fetch_row($result);  
  18. $amount = $row['amount'];   
  19. // 記算總共有多少頁  
  20. if( $amount ){  
  21. if( $amount < $page_size ){ $page_count = 1; } 
  22. //如果總數(shù)據(jù)量小于$PageSize,那么只有一頁  
  23. if( $amount % $page_size ){ 
  24. //取總數(shù)據(jù)量除以每頁數(shù)的余數(shù)  
  25. $page_count = (int)($amount / $page_size) + 1; 
  26. //如果有余數(shù),則頁數(shù)等于總數(shù)據(jù)量除以每頁數(shù)的結
    果取整再加一  
  27. }else{  
  28. $page_count = $amount / $page_size; 
  29. //如果沒有余數(shù),則頁數(shù)等于總數(shù)據(jù)量除以每頁數(shù)的結果  
  30. }  
  31. }  
  32. else{  
  33. $page_count = 0;  
  34. }  
  35.  
  36. // 翻頁鏈接  
  37. $page_string = '';  
  38. if( $page == 1 ){  
  39. $page_string .= '***頁|上一頁|';  
  40. }  
  41. else{  
  42. $page_string .= '***頁
    |上一頁|';  
  43. }   
  44. if( ($page == $page_count) || ($page_count == 0) ){  
  45. $page_string .= '下一頁|尾頁';  
  46. }  
  47. else{  
  48. $page_string .= '
    下一頁|尾頁';  
  49. }  
  50. // 獲取數(shù)據(jù),以二維數(shù)組格式返回結果  
  51. if( $amount ){  
  52. $sql = "select * from table order by id desc 
    limit ". ($page-1)*$page_size .", $page_size";  
  53. $result = mysql_query($sql);  
  54.  
  55. while ( $row = mysql_fetch_row($result) ){  
  56. $rowset[] = $row;  
  57. }  
  58. }else{  
  59. $rowset = array();  
  60. }  
  61. // 沒有包含顯示結果的代碼,那不在討論范圍,
    只要用foreach就可以很簡單的用得到的二維數(shù)組來顯示結果  
  62. ?> 

以上就是PHP文章分頁的相關實現(xiàn)方法。


網(wǎng)頁標題:快速掌握PHP文章分頁技巧
標題鏈接:http://www.5511xx.com/article/coiiooc.html