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


    /**
     * 数组分页函数  核心函数  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; 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;
    }
    测试:
    $arrTr = array(
            0=>array(1,'张三','100.00','新手','1988-06-12'),
            1=>array(2,'李四','110.00','新手','1989-06-12'),
            2=>array(3,'王五','120.00','新手','1998-06-12'),
            3=>array(4,'赵六','130.00','新手','1980-06-12'),
            );
        
        $count = 2;
        $page=empty($_GET['page'])?1:$_GET['page'];
        $d = page_array($count,$page,$arrTr,0);
        foreach($d as $v){
            echo $v[0].'--'.$v[1].'--'.$v[2].'--'.$v[3].'--'.$v[4]."
    
    ";
        }
        echo show_array($countpage,'');

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

  • 相关阅读:
    带有数字的表达式
    不使用data-ng-app指令的表达式
    简单的表达式
    第一个AngularJS控制器
    第一个AngularJS指令
    第一个AngularJS表达式实例
    HTML5<fieldset>标签
    AngularJS 包含
    [python][odlboy]设置字符串打印的颜色
    [python][oldboy]关键字参数和位置参数,默认参数,可变长参数(无名,有名)
  • 原文地址:https://www.cnblogs.com/phpfensi/p/4503103.html
Copyright © 2020-2023  润新知