PHP分页导航函数

这个函数是去年写的,之前在独立博客上发布的。
	function show($config=array()){
		
		// 初始化
		
		if(!isset($config['total'])) return FALSE;
		if(!isset($config['pagesize'])) $config['pagesize']=10;
		if(!isset($config['page'])) $config['page']=1;
		if(!isset($config['base'])) $config['base']='?&page=';
		if(!isset($config['suffix'])) $config['suffix']='';
		
		if(!isset($config['first_text'])) $config['first_text']='首页';
		if(!isset($config['first_open'])) $config['first_open']='';
		if(!isset($config['first_close'])) $config['first_close']='';
		
		if(!isset($config['last_text'])) $config['last_text']='尾页';
		if(!isset($config['last_open'])) $config['last_open']='';
		if(!isset($config['last_close'])) $config['last_close']='';
		
		if(!isset($config['next_text'])) $config['next_text']='下一页';
		if(!isset($config['next_open'])) $config['next_open']='';
		if(!isset($config['next_close'])) $config['next_close']='';
		
		if(!isset($config['prev_text'])) $config['prev_text']='上一页';
		if(!isset($config['prev_open'])) $config['prev_open']='';
		if(!isset($config['prev_close'])) $config['prev_close']='';
		
		if(!isset($config['num_open'])) $config['num_open']='';
		if(!isset($config['num_close'])) $config['num_close']='';
		
		if(!isset($config['c_open'])) $config['c_open']='';
		if(!isset($config['c_close'])) $config['c_close']='';
		
		if(!isset($config['display_num'])) $config['display_num']=TRUE;
		if(!isset($config['num_list'])) $config['num_list']=4;
				
		// 计算
		$config['page']=ceil($config['page']);
		$pages = ceil ( $config['total'] / $config['pagesize'] );
		$offset= ($config['page']-1)*$config['pagesize'];
		
		
		// 判断
		if(!is_numeric($config['page'])) $config['page']=1;
		if($config['page']>$pages) return FALSE;
		if($config['page']<1) return FALSE;
		
		// 生成
		$tmp='';
		
		// 首页 上一页
		if ($config['page']-1 < 1) {
			$tmp .= $config['first_open'].$config['first_text'].$config['first_close'].' ';
			$tmp .= $config['prev_open'].$config['prev_text'].$config['prev_close'].' ';
		} else {
			$tmp .= $config['first_open'].'<a href="'.$config['base'].'1'.$config['suffix'].'">'.$config['first_text'].'</a>'.$config['first_close'].' ';
			$tmp .= $config['prev_open'].'<a href="'.$config['base'].($config['page']-1).$config['suffix'].'">'.$config['prev_text'].'</a>'.$config['prev_close'].' ';
		}
		
		// 中间数字
		if($config['display_num']){
		$st=$config['page']-$config['num_list'];
		$et=$config['page']+$config['num_list'];
		
		if($st<1)$st=1;
		if($et>$pages)$et=$pages;
		
		for($i=$st;$i<=$et;$i++){
			if($i==$config['page']){
				$tmp.=	$config['num_open'].$i.$config['num_close'].' ';
			}
			else
			{
				$tmp.=	$config['c_open'].'<a href="'.$config['base'].$i.$config['suffix'].'">'.$i.'</a>'.$config['c_close'].' ';
			}
		}
		
		}
		// 尾页 下一页
		if ($config['page'] >= $pages) {
			$tmp .= $config['next_open'].$config['next_text'].$config['next_close'].' ';
			$tmp .= $config['last_open'].$config['last_text'].$config['last_close'].' ';
		} else {
			$tmp .= $config['next_open'].'<a href="'.$config['base'].($config['page']+1).$config['suffix'].'">'.$config['next_text'].'</a>'.$config['next_close'].' ';
			$tmp .= $config['last_open'].'<a href="'.$config['base'].$pages.$config['suffix'].'">'.$config['last_text'].'</a>'.$config['last_close'].' ';
		}
		
		
		return $tmp;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ganshenmail

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值