自己写了一个分页函数

/**
 * 分页显示函数
 * @param int $count 总数据条数
 * @param int $rows 每页显示数据
 * @param int $pages 当前页
 * @param string $basicUrl 起始URL(即参数前URL)
 * @param string $parm 参数(不带?号)
 * @param int $showMaxPageLink 最大显示页码数
 */
function show_pages($count ,$rows , $page ,$basicUrl ,$parm ,$showMaxPageLink=11){
	if($count<=$rows || $count<=0){
		return ;
	}
	
	//$showMaxPageLink = 11;			//最大显示页码数
	$pages = ceil($count/$rows);	//页数
	$parm = ('' != $parm) ? '?'.$parm.'&page=' : '?page=';
	$url = $basicUrl.$parm;
	
	//起始显示页
	$beginPage = $page - intval($showMaxPageLink/2);
	$beginPage = $beginPage>0 ? $beginPage : 1;
	
	//结束显示页
	$endpage = $beginPage + $showMaxPageLink -1;
	$endpage = $endpage<=$pages ? $endpage : $pages;
	
	//如果页尾不够跨度,起始页需要继续前行
	if(($endpage-$beginPage)<$showMaxPageLink && $beginPage>1){
		$beginPage = $endpage - $showMaxPageLink + 1; //加1表示减去自己的位置
		$beginPage = $beginPage>0 ? $beginPage : 1;
	}
	
	
	$html = '<a href="'.$basicUrl.$parm.'1">首页</a>';
	
	//显示前一页
	if($page > 1) $html .= '<a href="'.$url.($page-1).'">上一页</a>';
	
	//显示...链接(表示在起始页前还有页面)
	if(($beginPage-1)>=1) $html .= '<a href="'.$url.($beginPage-1).'">...</a>';
	
	//显示页面列表
	for ($i = $beginPage; $i<=$endpage; $i++){
		if($i == $page)
			$html .= '<span>'.$i.'</span>';
		else 
			$html .= '<a href="'.$url.$i.'">'.$i.'</a>';
	}
	
	//显示...链接(表示在结束页后还有页面)
	if($endpage+1<=$pages) $html .= '<a href="'.$url.($endpage+1).'">...</a>';
	
	//显示后一页
	if($page <= ($pages-1)) $html .= '<a href="'.$url.($page+1).'">下一页</a>';
	
	$html .= '<a href="'.$url.$pages.'">末页</a>';
	
	return $html;
}

  显示效果如:

           首页 上一页 ... 2 3 4 5 6 7 8 9 10 11 12 ... 下一页 末页