首頁 > 後端開發 > php教程 > 一個PHP分頁函數

一個PHP分頁函數

WBOY
發布: 2016-07-25 08:44:27
原創
925 人瀏覽過

PHP分页代码调用: $start=show_page($query,$page,$link,$offset);其中: $start为起始记录 $query为全记录检索SQL语句 $page为当前页码 $link为传递的页面参数 $offset为每页显示记录数

  1. //======function.php=====
  2. //======分页函数==========
  3. function show_page($query,$page,$link,$offset)
  4. {
  5. $db = new mysql();
  6. $result = $db->query($query);
  7. $Page_size = $offset; //取得每页显示的最大订单数
  8. $count = $db->affected_rows($result); //总订单数
  9. $page_count = ceil($count/$Page_size); //计算得出总页数
  10. $init=1;
  11. $page_len=7;
  12. $max_p=$page_count;
  13. $pages=$page_count;
  14. //判断当前页码
  15. $page=(empty($page)||$page<0)?1:$page;
  16. $start=$Page_size*($page-1);
  17. //分页功能代码
  18. $page_len = ($page_len%2)?$page_len:$pagelen 1; //页码个数
  19. $pageoffset = ($page_len-1)/2; //页码个数左右偏移量
  20. $key="共 $count 条 ";
  21. $key.="$page/$pages "; //第几页,共几页
  22. if($page!=1){
  23. $key.="第一页 "; //第一页
  24. $key.="上一页"; //上一页
  25. }
  26. else
  27. {
  28. $key.="第一页 ";//第一页
  29. $key.="上一页"; //上一页
  30. }
  31. if($pages>$page_len)
  32. {
  33. //如果当前页小于等于左偏移
  34. if($page<=$pageoffset){
  35. $init=1;
  36. $max_p = $page_len;
  37. }
  38. else //如果当前页大于左偏移
  39. {
  40. //如果当前页码右偏移超出最大分页数
  41. if($page $pageoffset>=$pages 1){
  42. $init = $pages-$page_len 1;
  43. }
  44. else
  45. {
  46. //左右偏移都存在时的计算
  47. $init = $page-$pageoffset;
  48. $max_p = $page $pageoffset;
  49. }
  50. }
  51. }
  52. for($i=$init;$i<=$max_p;$i )
  53. {
  54. if($i==$page){$key.=' ['.$i.']';}
  55. else {$key.=" ".$i."";}
  56. }
  57. if($page!=$pages)
  58. {
  59. $key.=" 下一页 ";//下一页
  60. $key.="最后一页"; //最后一页
  61. }
  62. else
  63. {
  64. $key.="下一页 "; //下一页
  65. $key.="最后一页"; //最后一页
  66. }
  67. echo "$key

    ";
  68. return $start;
  69. }
  70. ?>
复制代码

调用示例

[code]
分頁, PHP


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