// 分页函数
// amount 记录总数
// current 当前页
// size 每页记录数
// get 需要通过get继续传递的参数,前面不要带?
// 返回一个供查询和smarty产生分页信息的数组
private function paging($amount,$current=1,$size=5,$get='') {
$paging = array();
if($amount == 0)
return $paging;
$paging[get] = $get;
$paging[size] = $size;
$paging[amount] = $amount;
$paging[no] = $current;
$paging[total] = ceil($paging[amount] / $paging[size]);
if($paging[no] != "" && is_numeric($paging[no])) {
$paging[no] = intval($paging[no]);
} else {
$paging[no] = 1;
}
if($paging[no] < 1)
$paging[no] = 1;
if($paging[no] > $paging[total])
$paging[no] = $paging[total];
$paging[start] = $paging[size] * ($paging[no] - 1);
$paging[button] = array();
if($paging[total] != 1) {
$paging[listNo] = min($paging[total],5);
for($i=0;$i<$paging[listNo];$i++) {
$paging[button][] = $paging[no] - 2 + $i;
}
$paging[offset] = 0;
foreach($paging[button] as $tmp) {
if($tmp < 1) {
$paging[offset]++;
}
if($tmp > $paging[total]) {
$paging[offset]--;
}
}
for($i=0;$i<count($paging[button]);$i++) {
$paging[button][$i] = $paging[button][$i] + $paging[offset];
}
}
return $paging;
}
|