>  기사  >  백엔드 개발  >  PHP 페이징 기능

PHP 페이징 기능

WBOY
WBOY원래의
2016-07-25 08:44:27874검색

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.