• PHP基于数组的分页函数(核心函数array_slice())


       关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数.

    1. <?php  
    2. /** 
    3.  * 数组分页函数  核心函数  array_slice 
    4.  * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 
    5.  * $count   每页多少条数据 
    6.  * $page   当前第几页 
    7.  * $array   查询出来的所有数组 
    8.  * order 0 - 不变     1- 反序 
    9.  */   
    10.   
    11. function page_array($count,$page,$array,$order){  
    12.     global $countpage; #定全局变量  
    13.     $page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面   
    14.        $start=($page-1)*$count; #计算每次分页的开始位置  
    15.     if($order==1){  
    16.       $array=array_reverse($array);  
    17.     }     
    18.     $totals=count($array);    
    19.     $countpage=ceil($totals/$count); #计算总页面数  
    20.     $pagedata=array();  
    21.     $pagedata=array_slice($array,$start,$count);  
    22.     return $pagedata;  #返回查询数据  
    23. }  
    24. /** 
    25.  * 分页及显示函数 
    26.  * $countpage 全局变量,照写 
    27.  * $url 当前url 
    28.  */  
    29. function show_array($countpage,$url){  
    30.      $page=empty($_GET['page'])?1:$_GET['page'];  
    31.      if($page > 1){  
    32.         $uppage=$page-1;  
    33.   
    34.      }else{  
    35.         $uppage=1;  
    36.      }  
    37.   
    38.      if($page < $countpage){  
    39.         $nextpage=$page+1;  
    40.   
    41.      }else{  
    42.             $nextpage=$countpage;  
    43.      }  
    44.          
    45.         $str='<div style="border:1px; 300px; height:30px; color:#9999CC">';  
    46.     $str.="<span>共  {$countpage}  页 / 第 {$page} 页</span>";  
    47.     $str.="<span><a href='$url?page=1'>   首页  </a></span>";  
    48.     $str.="<span><a href='$url?page={$uppage}'> 上一页  </a></span>";  
    49.     $str.="<span><a href='$url?page={$nextpage}'>下一页  </a></span>";  
    50.     $str.="<span><a href='$url?page={$countpage}'>尾页  </a></span>";  
    51.     $str.='</div>';  
    52.     return $str;  
    53. }  
    54. ?>  
  • 相关阅读:
    Vue 路由组件传参的 8 种方式
    JS中通过url动态获取图片大小的方法小结(两种方法)
    基于 Vue.js 实现的精致移动端组件库
    .net core 通过代码创建数据库表
    .net core 框架调用顺序
    POCO的理解
    winform datagridview 同步滚动
    UseIIS
    winform 多个datagridview 之间同步滚动
    winform BackgroundWorker 的用法
  • 原文地址:https://www.cnblogs.com/maowenqiang/p/5627330.html
Copyright © 2020-2023  润新知