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     }  
  • 相关阅读:
    MyGeneration:开源的代码生成工具
    有了NHibernate就不再需要DAO了
    在vs编辑器里走来走去的快捷键
    asp.net的程序的一种简化结构
    取得gridview的行值
    asp.net中MVC模式的简单实现
    美味书签上的信息质量要好于博客RSS
    DAO已死,至少是中小型项目是这样
    免费好看的msdn中文杂志电子版
    Rhino Mocks是很不错的开源测试框架
  • 原文地址:https://www.cnblogs.com/pyspang/p/8626020.html
Copyright © 2011-2022 走看看