一个简单的php分页逻辑

php分页

 

<?php
include 'backend/conn.php';

$html = '<ul>';     //输出的html
$pageDataNum=3;    //每页显示10行
$pageCount=0;   //页数 
$currentIndex=1;//当前第几页
$dataNum = 0;  //数据条数
$curentDataIndex = 0; //当前第几行数据
$pre = 0;             //上一页页数
$nex = 0;              //下一页页数
$preImageName = '';      //是否到页码开始的尽头
$nexImageName = '';      //是否到页码结尾的尽头

$page = isset($_REQUEST['page'])?$_REQUEST['page']:1;
$page = daddslashes($page);

$sql = "select count(1) as countNum from GsSpecialArticle";
$result = mysql_query($sql) or die(mysql_error());
if($row = mysql_fetch_object($result)){
    $dataNum=$row->countNum;
}
$pageCount = ceil($dataNum/$pageDataNum);
$curentDataIndex = ($page-1) * $pageDataNum;
$curentDataIndex = $curentDataIndex > $dataNum ? ($curentDataIndex-$pageDataNum) : $curentDataIndex;

$sql = "select * from GsSpecialArticle order by CreateTime desc limit ".$curentDataIndex.','.$pageDataNum.';';
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_object($result)){
    $html.='<li>'.substr($row->CreateTime,0,10).'</span>'.'<span class="title"><a href="01maincontent.html?id=14&subId=17&specialId='.$row->Id.'">'.$row->ArticleTitle.'</span></a></li>';
}

$pre = $page - 1;
$pre = $pre < 1 ? 1 : $pre;
$nex = $page + 1;
$nex = $nex > $pageCount ? $pageCount : $nex;


$html .= '</ul><ul id="pages">';

if($page == 1){
    $html .= '<li><span><image alt="" src="images/page_frist1.png"></image></span>
    <span><image alt="" src="images/page_prev1.png"></image></span></span>';
    for($i=1;$i<=$pageCount;$i++){
        if(abs($i-$page)<7){
            if($i == $page){
                $html .= '<span style="color:red;">'.$i.'</span>';
            }
            else{
                $html .= '<span><a href="#anchor" οnclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
            }
        }
    }
    $html .= '<span><a href="#anchor" οnclick="ChangePage('.$nex.')"><image alt="" src="images/page_next.png"></image></a></span>
    <span><a href="#anchor" οnclick="ChangePage('.$pageCount.')"><image alt="" src="images/page_last.png"></image></a></span></li>';
}
else if($page == $pageCount){
    //echo $page.'</br>';
    //echo $pageCount.'</br>';
    $html .= '<li><span><a href="#anchor" οnclick="ChangePage(1)"><image alt="" src="images/page_frist.png"></image></a></span>
    <span><a href="#anchor" οnclick="ChangePage('.$pre.')"><image alt="" src="images/page_prev'.$preImageName.'.png"></image></a></span>';
    for($i=1;$i<=$pageCount;$i++){
        if(abs($i-$page)<7){
            if($i == $page){
                $html .= '<span style="color:red;">'.$i.'</span>';
            }
            else{
                $html .= '<span><a href="#anchor" οnclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
            }
        }
    }    
    $html .= '<span><image alt="" src="images/page_next1.png"></image></span><span><image alt="" src="images/page_last1.png"></image></span></li>';
}
else{
    $html .= '<li><span><a href="#anchor" οnclick="ChangePage(1)"><image alt="" src="images/page_frist.png"></image></a></span>
    <span><a href="#anchor" οnclick="ChangePage('.$pre.')"><image alt="" src="images/page_prev.png"></image></a></span>';
    for($i=1; $i<=$pageCount ; $i++){
        if(abs($i-$page)<4){
            if($i == $page){
                $html .= '<span style="color:red;">'.$i.'</span>';
            }
            else{
                $html .= '<span><a href="#anchor" οnclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
            }
        }
    }
    $html .= '<span><a href="#anchor" οnclick="ChangePage('.$nex.')"><image alt="" src="images/page_next.png"></image></a></span>
    <span><a href="#anchor" οnclick="ChangePage('.$pageCount.')"><image alt="" src="images/page_last.png"></image></a></span></li>';
}

$html .= '</ul>';

echo $html;
?>

 

function ChangePage(page){
    window.location.href = "01maincontent.html?id=14&subId=17&page="+page;
}

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值