数组分页函数
/** +---------------------------------------------------------- * 数组分页函数 核心函数 array_slice +---------------------------------------------------------- * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @param int $count 每页多少条数据 * @param int $page 当前第几页 * @param array $array 查询出来的所有数组 * @param int order 0 - 不变 1- 反序 +---------------------------------------------------------- * @return array 返回信息 +---------------------------------------------------------- */ public function page_array($count,$page,$array,$order){ $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); $data['data'] = $pagedata; $data['countpage'] = $countpage; return $data; // 返回查询数据 } /** +---------------------------------------------------------- * 分页及显示函数 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @param int $countpage 总页数 * @param string $url 当前url +---------------------------------------------------------- * @return srting 分页字符串 +---------------------------------------------------------- */ public 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="text-align:right;">'; $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; }