zoukankan      html  css  js  c++  java
  • 根据数组数据做分页,还挺好用

     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; 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     }  
  • 相关阅读:
    单例设计模式
    HashMap 排序
    代理、动态代理
    冒泡排序 、二分查找、快速排序
    Azure powershell 订阅登录管理
    cmdbuild -2.4.3 在Centos7部署
    Zabbix3.0 安装部署
    nginx 一键安装
    通过菜单一键安装mysql
    Rsync同步工具
  • 原文地址:https://www.cnblogs.com/pyspang/p/8626020.html
Copyright © 2011-2022 走看看