thinkphp 分页(数组分页)

18 篇文章 0 订阅
        
        $categoryBrandAmount = model('Brand')->getAllBrandByAmount();  
        //获取页面传过来的,get请求
        $page=input('page');
        //定全局变量 
        global $countpage;    
        //url根据自己的地址定义
        $url= '';
        //这个是每页显示多少条
        $count=2;
        //这里是调用分页的函数
        $categoryBrandAmounts=page_array($count,$page,$categoryBrandAmount,0);
     
        //查询数组长度   
        $totals=count($categoryBrandAmount);  

        //计算总页面数
        $countpage=ceil($totals/$count);
        //运行页码函数
        $show=show_array($countpage,$url);

        $this->assign('categoryBrandAmounts',$categoryBrandAmounts);
        $this->assign('show',$show);
  1.   控制器中填写以上代码

  2.   在公共文件Common文件

    /**  
     * 数组分页函数  核心函数  array_slice  
     * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中  
     * $count   每页多少条数据  
     * $page   当前第几页  
     * $array   查询出来的所有数组  
     * order 0 - 不变     1- 反序  
    */      
    
    function page_array($count,$page,$array,$order){    
    
        $page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面     
           $start=($page-1)*$count; #计算每次分页的开始位置    
        if($order==1){    
          $array=array_reverse($array);    
        }         
        $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;    
    }  

     

  3.    如果想把方法写在控制器里,则使用$this调用方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值