//分页实现函数,传入sql语句,访问的页号(默认为1),以及页面大小(默认为10);返回包含总个数,每页条数,总页数,当前页数,当前页数数据列表的数组;
function fenye($sql,$page=1,$pageSize=10) {
$res = $this->mysql->getData($sql);//按条件从数据库中读取数据,返回二维数组,如果不是SAE,直接改成php原生的mysql调用,其他代码不变
$count = count($res);//得到符合条件的建议的总个数,count函数的作用是计算出数组的元素个数
$num_of_paginations = ceil($count/$pageSize);//计算出总页数,ceil函数的作用是求得不小于给定实数的最小整数
if($page > $num_of_paginations){
return false; //申请的页号大于总页数,返回FALSE
}else{
$start = ($page-1)*$pageSize;//分页第一条元素的索引,也就是分段开始的地方
$list = array_slice($res,$start,$pageSize);//获取该分页的所有数据。array_splice函数的作用是从数组中取出一段
$arr = array(
"count" => $count, //总个数
"pageSize" => $pageSize, //每页条数
"pageCount" => $num_of_paginations, //总页数
"thisPage" => $page, //当前页数
"list" => $list //当前页面数据列表
);
return $arr;
}
}