$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);
-
控制器中填写以上代码
-
在公共文件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; }
-
如果想把方法写在控制器里,则使用$this调用方法