PHP分页程序(通用函数)
做网页的时候,分页是一个很繁琐的问题,有些时候需要重复很多次,所以今天我写了一个分页函数,直接调用即可。
函数如下:
function pageNum($file,$page,$page_num,$pn=5){
/*
$file 当前分页的页面
$page 当前为哪一页
$page_num 所有页面的总数
$pn 定义当前页左右两侧显示的页数,默认是5
*/
//处理前翻按钮
if($page==1){
echo 'Previous';
}elseif($page==2){
echo '<a href="'.$file.'?page=1">Previous</a>';
}else{
echo '<a href="http://blog.fesite.com/wp-admin/%27.$file.%27?page=%27.%20%28$page-1%29%20.%27">Previous</a>';
}
//处理中间的数字部分
for($i=1;$i<=$page_num;$i++){
if($i==1){
if($page==1){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page=1">1</a>';
}
}elseif($i==$page_num){
if($page==$i){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page='.$i.'">'.$i.'</a>';
}
}elseif($i<=$page+$pn && $i>=$page-$pn){
if($page==$i){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page='.$i.'">'.$i.'</a>';
}
}else{
if($i==$page+($pn+1) || $i==$page-($pn+1)){
echo '...';
}
}
}
//处理后翻按钮
if($page==$page_num){
echo 'Next';
}else{
echo '<a href="http://blog.fesite.com/wp-admin/%27.$file.%27?page=%27.%20%28$page+1%29%20.%27">Next</a>';
}
}
/*
$file 当前分页的页面
$page 当前为哪一页
$page_num 所有页面的总数
$pn 定义当前页左右两侧显示的页数,默认是5
*/
//处理前翻按钮
if($page==1){
echo 'Previous';
}elseif($page==2){
echo '<a href="'.$file.'?page=1">Previous</a>';
}else{
echo '<a href="http://blog.fesite.com/wp-admin/%27.$file.%27?page=%27.%20%28$page-1%29%20.%27">Previous</a>';
}
//处理中间的数字部分
for($i=1;$i<=$page_num;$i++){
if($i==1){
if($page==1){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page=1">1</a>';
}
}elseif($i==$page_num){
if($page==$i){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page='.$i.'">'.$i.'</a>';
}
}elseif($i<=$page+$pn && $i>=$page-$pn){
if($page==$i){
echo '<a style="background-color: #99ccdd"><strong>'.$i.'</strong></a>';
}else{
echo '<a href="'.$file.'?page='.$i.'">'.$i.'</a>';
}
}else{
if($i==$page+($pn+1) || $i==$page-($pn+1)){
echo '...';
}
}
}
//处理后翻按钮
if($page==$page_num){
echo 'Next';
}else{
echo '<a href="http://blog.fesite.com/wp-admin/%27.$file.%27?page=%27.%20%28$page+1%29%20.%27">Next</a>';
}
}
测试的时候请把css也加上,否则会变形,css代码如下:
<style type="text/css">
#page_list{
clear:both;
padding:3px;
margin:10px;
font-size:12px;
}
#page_list a{
margin:5px 2px;
padding:5px;
height:14px;
border:1px #9AAFE5 solid;
text-decoration:none;
color:#000;
}
#page_list a:hover{
background:#2E6AB1;
}
</style>
#page_list{
clear:both;
padding:3px;
margin:10px;
font-size:12px;
}
#page_list a{
margin:5px 2px;
padding:5px;
height:14px;
border:1px #9AAFE5 solid;
text-decoration:none;
color:#000;
}
#page_list a:hover{
background:#2E6AB1;
}
</style>
页面主体内容如下:
<p id="page_list"> $page=$_GET["page"];
if(!is_numeric($page)){
$page=1;
}
pageNum("page_num.php",$page,20,5);
?>
if(!is_numeric($page)){
$page=1;
}
pageNum("page_num.php",$page,20,5);
?>
由于时间比较仓促,代码写的比较丑陋,不过使用基本没啥问题,也请各位高手不吝赐教。
1,262 views
如果你觉得IE不好用(微软自己都承认IE的技术不如Firefox),你可以 ,来体验Firefox带给你的超爽感觉。



