根据数组数据做分页,还挺好用

 1      $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; //当前网址
 2       if(isset($_GET['page'])){
 3          $url = preg_replace('/(\?page=\w)/','', $url, 1);
 4      }
 5 
 6      $page = isset($_GET['page'])?$_GET['page']:'';//当前页数
 7      $page_res = $this->page_array(19,$page,$data);
 8      $page_data = $page_res[0];
 9      $countpage = $page_res[1];//总的页数
10      $page_url = $this->show_array($countpage,$url,$page);//分页url,放在前端即可
11 
12             /** 
13      * 数组分页函数  核心函数  array_slice 
14      * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 
15      * $count   每页多少条数据 
16      * $page   当前第几页 
17      * $array   查询出来的所有数组 
18      * order 0 - 不变     1- 反序 
19      */   
20       
21     function page_array($count,$page,$array){  
22         global $countpage; #定全局变量  
23         $page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面   
24         $start=($page-1)*$count; #计算每次分页的开始位置  
25 
26         $totals=count($array);    
27         $countpage=ceil($totals/$count); #计算总页面数  
28         $pagedata=array();  
29         $pagedata=array_slice($array,$start,$count);  
30         return [$pagedata,$countpage];  #返回查询数据  
31     }  
32     /** 
33      * 分页及显示函数 
34      * $countpage 全局变量,照写 
35      * $url 当前url 
36      */  
37     function show_array($countpage,$url,$page){  
38          $page=empty($_GET['page'])?1:$_GET['page'];  
39          if($page > 1){  
40             $uppage=$page-1;  
41       
42          }else{  
43             $uppage=1;  
44          }  
45       
46          if($page < $countpage){  
47             $nextpage=$page+1;  
48       
49          }else{  
50                 $nextpage=$countpage;  
51          }  
52              
53         $str='<div style="border:1px; width:330px; height:30px; color:red;padding-left:10px">';  
54         $str.="<span>共  {$countpage}  页 / 第 {$page} 页</span>";  
55         $str.="<span><a href='$url?page=1'>   首页  </a></span>";  
56         $str.="<span><a href='$url?page={$uppage}'> 上一页  </a></span>";  
57         $str.="<span><a href='$url?page={$nextpage}'>下一页  </a></span>";  
58         $str.="<span><a href='$url?page={$countpage}'>尾页  </a></span>";  
59         $str.='</div>';  
60         return $str;  
61     }  

 

posted @ 2018-03-22 19:44  一粒小米-博客  阅读(2528)  评论(0编辑  收藏  举报