php分頁程式碼實例(可自適應範圍)

WBOY
發布: 2016-07-25 08:52:12
原創
1190 人瀏覽過
  1. /*

  2. * mysql分頁函數碼
  3. * edit:bbs.it-home.org
  4. *
  5. */
  6. function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){
  7. $pagecode = '';//定義變數,存放分頁產生的HTML
  8. $page = intval($page);//避免非數字頁碼
  9. $total = intval($total);//保證總記錄數值類型正確
  10. if(!$total ) return array();//總記錄數為零回傳空數組
  11. $pages = ceil($total/$pagesize);//計算總分頁
  12. //處理頁碼合法性
  13. if( $pageif($page>$pages) $page = $pages;
  14. //計算查詢偏移量
  15. $offset = $pagesize*($page- 1);
  16. //頁碼範圍計算
  17. $init = 1;//起始頁碼數
  18. $max = $pages;//結束頁碼數
  19. $pagelen = ($pagelen%2 )?$pagelen:$pagelen 1;//頁碼個數
  20. $pageoffset = ($pagelen-1)/2;//頁碼個數左右偏移
  21. //產生html

  22. $pagecode='
    ';
  23. $pagecode.="$page/$pages";//第幾頁,共幾頁
  24. //如果是第一頁,則不顯示第一頁和上一頁的連接
  25. if($page!=1){
  26. $pagecode.="";//第一頁
  27. $pagecode.="";//上一頁
  28. }
  29. //分頁數大於頁碼個數時可以偏移
  30. if($pages>$pagelen){
  31. //如果目前頁面小於等於左邊偏移
  32. if($page$init=1;
  33. $max = $pagelen;
  34. }else{//如果目前頁大於左偏移
  35. //如果目前頁碼右邊偏移超出最大分頁數
  36. if($page $pageoffset>=$pages 1){
  37. $init = $pages-$pagelen 1;
  38. }else{
  39. //左右偏移都存在時的計算
  40. $init = $page-$pageoffset;
  41. $max = $page $pageoffset;
  42. }
  43. }
  44. }
  45. //生成html
  46. for($i=$init;$iif($i==$page){
  47. $ pagecode.=''.$i.'';
  48. } else {
  49. $pagecode.="$i";
  50. }
  51. }
  52. if($page!=$pages){
  53. $pagecode.=">";//下一頁
  54. $pagecode.="> >";//最後一頁
  55. }
  56. $pagecode.="
";
  • return array('pagecode'=>$pagecode,'sqllimit'=> ' limit '.$offset.','.$pagesize);
  • }
  • ?>
  • 複製程式碼

    複製程式碼
    1. 複製程式碼
    2. 複製程式碼
    3. 複製程式碼
    4. 2,新增了頁碼跳轉文字框
    5. $phpfile = 'index.php';//頁面檔案名稱
    6. $page= isset($_GET[' page'])?$_GET['page']:1;//預設頁碼
    $db = mysql_connect('localhost','test','test');//連結資料庫
    mysql_select_db(' test',$db);//選擇資料庫$counts = mysql_num_rows(mysql_query('select `id` from `test`',$db));//取得所需的資料總條數$ sql='select `id`,`title` from `test`';//定義查詢語句SQL
    $getpageinfo = page($page,$counts,$phpfile);//呼叫函數,生成分頁HTML 和SQL LIMIT 子句

    $sql.=$getpageinfo['sqllimit'];//組合完整的SQL語句

    $data = $row = array();//初始化陣列
    $result = mysql_query ($sql,$db);//取得結果集
    //將資料裝入$data陣列
      while($row = mysql_fetch_array($result)){
    1. $data[]=$row ;
    2. }
    3. ?>
    4. echo $getpageinfo['pagecode'];//顯示分頁的html代碼
    5. ?>
    複製程式碼
    3,此分頁查詢程式碼中所使用的css樣式表檔。 複製程式碼

    推薦閱讀:

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


    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板