当前位置:首页 >> PHP >> PHP基础

php简单实现数组(array_slice)分页的方法

  • PHP基础
  • 2020-04-30 07:15:16
  • 人已阅读
简介关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页

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

1.业务需求:

从三个表拿出数据然后合并为一个数组,然后对数组进行分页

2.解决1:合并数组

获取三个表的数据,然后使用array_column来处理
array_cloumn()第一个参数是数据,第二是字段名

//$date是从数据库中取出的数据,并获取相同的字段列表
$data1 = array_column($date1, 'user_name');
$data2 = array_column($date2, 'user_name');
$data3 = array_column($date3, 'user_name');
//进行数组和并
$data = array_merge($data1, $data2, $data3);

3.对数组进行分页

<?php  
/** 
 * 数组分页函数  核心函数  array_slice 
 * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 
 * $count   每页多少条数据 
 * $page   当前第几页 
 * $array   查询出来的所有数组 
 * order 0 - 不变     1- 反序 
 */   
  
function page_array($count,$page,$array,$order){  
    global $countpage; #定全局变量  
    $page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面   
       $start=($page-1)*$count; #计算每次分页的开始位置  
    if($order==1){  
      $array=array_reverse($array);  
    }     
    $totals=count($array);    
    $countpage=ceil($totals/$count); #计算总页面数  
    $pagedata=array();  
    $pagedata=array_slice($array,$start,$count);  
    return $pagedata;  #返回查询数据  
}  
/** 
 * 分页及显示函数 
 * $countpage 全局变量,照写 
 * $url 当前url 
 */  
function show_array($countpage,$url){  
     $page=empty($_GET['page'])?1:$_GET['page'];  
     if($page > 1){  
        $uppage=$page-1;  
  
     }else{  
        $uppage=1;  
     }  
  
     if($page < $countpage){  
        $nextpage=$page+1;  
  
     }else{  
            $nextpage=$countpage;  
     }  
         
        $str='<div style="border:1px; width:300px; height:30px; color:#9999CC">';  
    $str.="<span>共  {$countpage}  页 / 第 {$page} 页</span>";  
    $str.="<span><a href='$url?page=1'>   首页  </a></span>";  
    $str.="<span><a href='$url?page={$uppage}'> 上一页  </a></span>";  
    $str.="<span><a href='$url?page={$nextpage}'>下一页  </a></span>";  
    $str.="<span><a href='$url?page={$countpage}'>尾页  </a></span>";  
    $str.='</div>';  
    return $str;  
}  
?>


Top