php mysql分頁查詢程式碼與示範例子

WBOY
發布: 2016-07-25 08:52:17
原創
964 人瀏覽過
  1. //為了避免重複包含文件而造成錯誤,加了判斷函數是否存在的條件:
  2. if (!function_exists(pages)){
  3. //定義函數pages(),三個參數的意思為:
  4. //$total:資訊總數;
  5. //$displaypg:每頁顯示資訊數,這裡設定為預設是20;
  6. //$url:分頁導航中的鏈接,除了加入不同的查詢資訊“page”外的部分都與這個URL相同。
  7. //預設值本該設為本頁URL(即$_SERVER["REQUEST_URI"]),但設定預設值的右邊只能為常數,所以該預設值設為空字串,在函數內部再設定為本頁URL。
  8. function pages($total,$displaypg=20,$url=''){
  9. //定義幾個全域變數:

  10. //$page:目前頁碼;
  11. //$firstcount:(資料庫)查詢的起始項目;
  12. //$pagenav:頁面導覽條碼,函數內部並沒有將它輸出;
  13. //$_SERVER:讀取本頁URL「$_SERVER["REQUEST_URI"]」所必須。
  14. global $page,$firstcount,$pagenav,$_SERVER;
  15. //為使函數外部可以存取這裡的“$displaypg”,將它也設為全域變數。注意一個變數重新定義為全域變數後,原值被覆蓋,所以這裡給它重新賦值。

  16. $GLOBALS["displaypg"]=$displaypg;
  17. $page=$_GET['page'];
  18. if(!$page) $page=1;
  19. //如果$url使用默認,即空值,則賦值為本頁URL:
  20. if(!$url){ $url=$_SERVER["REQUEST_URI"];}
  21. //URL分析:

  22. $parse_url=parse_url($url);
  23. $url_query=$parse_url["query"]; //單獨取出URL的查詢字串
  24. if($url_query ){
  25. //因為URL中可能包含了頁碼訊息,要把它去掉,以便加入新的頁碼資訊。
  26. //正規表示式
  27. $url_query=ereg_replace("(^|&)page=$page","",$url_query);
  28. //將處理後的URL的查詢字符串取代原來的URL的查詢字符串:

  29. $url=str_replace($parse_url["query"],$url_query,$url);
  30. //在URL後面加上page查詢訊息,但待賦值:

  31. if($url_query) $url.="&page"; else $url.="page";
  32. }else {
  33. $url.= "?page";
  34. }
  35. //頁碼計算:

  36. $lastpg=ceil($total/$displaypg); //最後頁,也是總頁數
  37. $page=min($lastpg,$page);
  38. $prepg=$page-1; //上一頁
  39. $nextpg=($page==$lastpg ? 0 : $page 1); //下一頁
  40. $firstcount=($page-1)*$displaypg;
  41. //開始分頁導覽條碼:

  42. $pagenav="顯示第".($total?($firstcount 1):0)."-".min($firstcount $displaypg,$total)." 筆記錄,共$total 條記錄
    ";
  43. //若只有一頁則跳出函數:

  44. if($lastpg
  45. $pagenav.=" 首頁 ";

  46. if($prepg) $pagenav.=" 前頁 "; else $pagenav.=" 前頁";
  47. if($nextpg) $pagenav.=" 後頁 "; else $pagenav.=" 後頁";
  48. $pagenav.=" 尾頁 ";
  49. //下拉跳轉列表,循環列出所有頁碼:

  50. $pagenav.=" 到第
複製程式碼
複製程式碼

2、mysql分頁呼叫示範:

  1. $DatabaseServer="localhost";
  2. $UserName="root";
  3. $ PassWord="";
  4. $DatabaseName="dede";
  5. $conn=mysql_connect($DatabaseServer,$UserName,$PassWord) 或 die("資料庫連線錯誤" mysql_error() );

  6. mysql_select_db($DatabaseName,$conn);
  7. mysql_query("set names gbk");
  8. include("Pages.php"); //包含「pages.php」檔案
  9. //取得總資訊數

  10. $result=mysql_query("select * from dede_area");
  11. $total=mysql_num_rows($result);
  12. //呼叫pages(),每頁顯示10個訊息(使用預設的20時,可以省略此參數),使用本頁URL(默認,所以省略掉)。

  13. pages($total,10);
  14. //全域變數使用

  15. $result=mysql_query("select * from dede_area limit $firstcount,$displaypg ");
  16. while($row=mysql_fetch_array($result)){
  17. //(列表內容略)
  18. echo($row['eid']);
  19. echo ($row['name']) ;
  20. echo ("

    ");

  21. }
  22. //輸出分頁導覽條

  23. echo $pagenav;
  24. //(後面程式略)
  25. ?>
複製程式碼

php mysql分頁效果,如圖: php mysql 分页效果

推薦閱讀:

  • php與ajax無刷新分頁代碼
  • php 文章分頁的實作程式碼
  • php limit 翻頁(分頁)程式碼
  • 帶多種分頁方式的php分頁類別
  • 上一頁與下一頁的php分頁代碼
  • 前十頁、後十頁方式的php分頁代碼
  • 簡單的php分頁程式碼的範例
  • 一個不錯的php分頁類別的程式碼
  • 一個分頁函數:上一頁 下一頁
  • 一個好用的php分頁類別
  • php長文章分頁代碼
  • 一個實用的php分頁類別
  • 快速php分頁類


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!