php分页代码封装

1.xx

<?php

require_once '../include.php';

$sql = "select * from i_admin";

$totalRows = getResultNum($sql);

// var_dump($totalRows);

$pageSize = 2;
// 得到总页码数
$totalPage = ceil($totalRows/$pageSize);

@$page = $_REQUEST['page']?(int)$_REQUEST['page']:1;

if ($page<1||$page==null||!is_numeric($page)) {
	# code...
	$page = 1;
}
if ($page>=$totalPage) {
	$page = $totalPage;
}
// 偏移
$offset = ($page-1)*$pageSize;


$sql = "select * from i_admin limit {$offset},{$pageSize}";

$rows = fetchAll($sql);


foreach ($rows as $row) {
	echo "编号:".$row['id']."<br/>";
	echo "姓名:".$row['username']."<br/>";
}


$url = $_SERVER['PHP_SELF'];  //当前脚本路径

$index = ($page==1)?"首页":"<a href='{$url}?page=1'>首页</a>";
$last = ($page==$totalPage)?"尾页":"<a href='{$url}?page={$totalPage}'>尾页</a>";
$prev = ($page==1)?"上一页":"<a href='{$url}?page=".($page-1)."'>上一页</a>";
$next = ($page==$totalPage)?"下一页":"<a href='{$url}?page=".($page+1)."'>下一页</a>";
$str = "总共{$totalPage}页/当前是{$page}页";

$p = null;


for ($i=1; $i < $totalPage; $i++) { 
	# 当前页无链接
	if ($page == $i) {
		$p .= "【{$i}】";
	}else{
		$p .= "<a href='{$url}?page={$i}'>【{$i}】</a>";
	}
}

echo "<hr/>";
echo $str.$index.$prev.$p.$next.$last;

2.封装

function showPage($page,$totalPage,$where=null){

	$where = $where==null?null:"&".$where;
	$url = $_SERVER['PHP_SELF'];  //当前脚本路径

	$index = ($page==1)?"首页":"<a href='{$url}?page=1{$where}'>首页</a>";
	$last = ($page==$totalPage)?"尾页":"<a href='{$url}?page={$totalPage}{$where}'>尾页</a>";
	$prev = ($page==1)?"上一页":"<a href='{$url}?page=".($page-1)."{$where}'>上一页</a>";
	$next = ($page==$totalPage)?"下一页":"<a href='{$url}?page=".($page+1)."{$where}'>下一页</a>";
	$str = "总共{$totalPage}页/当前是{$page}页";

	$p = null;


	for ($i=1; $i < $totalPage; $i++) { 
		# 当前页无链接
		if ($page == $i) {
			$p .= "【{$i}】";
		}else{
			$p .= "<a href='{$url}?page={$i}{$where}'>【{$i}】</a>";
		}
	}

	// echo "<hr/>";
	// echo $str.$index.$prev.$p.$next.$last;
	$pageStr = $str.$index.$prev.$p.$next.$last;
	return $pageStr;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值