html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP教程:类似GOOGLE搜索结果的分页_PHP教程_编程技术

[ ] 已经帮助:人解决问题
2YVHTML5中文学习网 - HTML5先行者学习网

function reterPageStr($pageSize,$curPage,$countSql,$pagePara)
{
// 返回字符串 rsStartpageStr
    if($rsResult=mysql_query($countSql)) $rsCount=mysql_result($rsResult,0,0) ;
    $pageCount=ceil($rsCount/$pageSize);
    if (!isset($curPage)) $curPage=1;
    if($curPage<1) $curPage=1;
    if($curPage>$pageCount) $curPage=$pageCount;
    $rsStart=($curPage-1)*$pageSize;
    $pageStr=outPageList($pageCount,$curPage,$pagePara);
    $outStr=$rsStart."". $pageCount."".$pageStr."".$rsCount;
    return $outStr;
} 2YVHTML5中文学习网 - HTML5先行者学习网


function outPageList($pageCount,$curPage,$pagePara)
{
    if($pageCount>1)
    {
    $pageListNum=10;
    $step=5;
    $pageStr="";
    $prePage=$curPage-1;
    $nextPage=$curPage+1;
    $pageFromNum=$curPage-$step;
    $pageToNum=$curPage+$step;
    
    if($pageCount<$step)
    {
        $pageFromNum=1;
        $pageToNum=$pageCount;
    }elseif($pageCount<$pageListNum)
    {
        $pageFromNum=1;
        $pageToNum=$pageCount;
    }
    elseif($pageToNum>$pageCount)
    {
        $pageToNum=$pageCount;
        if(($pageToNum-$pageFromNum)<$pageListNum)
        {
            $pageFromNum=$pageToNum-$pageListNum+1;
        }
        
    }else
    {
        if($pageFromNum<1)
        {
            $pageFromNum=1;
            $pageToNum=$curPage+$step-1;
        }
    }
    
    
    $pageStr.='
    <script language="javascript">
    function fucCheckNUM(obj){    
    
    var patn = /^/d+(/./d+)?$/;
    
    if(!patn.test(obj.value))
    {
        obj.value="1";
         return false;
    }
    return true;
    }
    
    function locationPage(url)
    {
        var pageNum=document.getElementById("curPage").value;
        var urlto=url+"&curPage="+pageNum;
    
        window.location=urlto;
    }
    
    script>
    ';
    
    
    
    /*开始输出 */
    $pageStr.="
    <style>
        /*分页样式*/
        .PageClass{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-top:0px;text-align:left;margin-top:2px; line-height:22px; height:22px;}
        .PageClass ul{ float:left;}
        .PageClass ul li{ margin-right:3px; float:left;}
        .PageClass ul li a{border:1px solid #d8dfef; color:#01669A; text-decoration:none;padding:1px 4px;width:20px; height:15px;}
        .PageClass ul li a:hover{ color:#fe6601;text-decoration:none; border:1px solid #d8dfef;padding:1px 4px; height:18px;}    
    style>
    <div class=/"PageClass/">
        <ul>
            <li><strong>".$curPage."/".$pageCount."  strong>li>
        ul>";
    if($curPage!=1){    
        $pageStr.="
        <ul>
            <li>
                <a href=?curPage=1".$pagePara.">首页a> <a href=?curPage=$prePage&".$pagePara.">上一页a>
            li>
        ul>";
    }
    $pageStr.="<ul>";
    for($i=$pageFromNum;$i<=$pageToNum;$i++){
        $pageStr.="<li>";
        if($curPage==$i){
            $pageStr.=$i;
        }else{
            $pageStr.="<a href=?curPage=$i&".$pagePara.">$ia>";
        }
        $pageStr.="li>";
    }
    $pageStr.="ul>";
    
    if($curPage!=$pageCount){
        $pageStr.="<ul><li>";
        $pageStr.="<a href=?curPage=$nextPage".$pagePara.">下一页a> <a href=?curPage=$pageCount&".$pagePara.">末页a>";
        $pageStr.="li>ul>";
    }
    
    $url="?url=a&".$pagePara;
    $pageStr.='<ul>
    
     
    <input type="text" id="curPage" name="curPage" value="'.$curPage.'" onBlur="fucCheckNUM(this)" style="width:30px;border:1px solid #000;"/>
    ';
    $pageStr.="
    <input type=/"button/" value=/"Go/" onclick=/"locationPage('".$url."')/" style=/"line-height:20px;border:1px solid #000; width:25px;height:20px;/"/>";
$pageStr.='ul>';
    $pageStr.="div>";
    return $pageStr;
    }
} 2YVHTML5中文学习网 - HTML5先行者学习网

如上所示。2YVHTML5中文学习网 - HTML5先行者学习网

调用的时候只是需要调用2YVHTML5中文学习网 - HTML5先行者学习网

reterPageStr($pageSize,$curPage,$countSql,$pagePara)2YVHTML5中文学习网 - HTML5先行者学习网

这个函数即可。2YVHTML5中文学习网 - HTML5先行者学习网

返回的的是个字符串,以""分割开的。2YVHTML5中文学习网 - HTML5先行者学习网

$outStr=$rsStart."". $pageCount."".$pageStr."".$rsCount;2YVHTML5中文学习网 - HTML5先行者学习网

$rsStart 是用来读取数据库的时候 limit 后面的参数2YVHTML5中文学习网 - HTML5先行者学习网

$pageCount 是表示共有多少页码2YVHTML5中文学习网 - HTML5先行者学习网

$pageStr 即是输出的 页码。2YVHTML5中文学习网 - HTML5先行者学习网

$rsCount 是记录总数。2YVHTML5中文学习网 - HTML5先行者学习网

调用的示例如下
 
    $countSql="select count(Com_ID) from CommentList ";
    $pageSize="20";
    $curPage=$_GET['curPage'];
    $UrlPara="&Com_TypeID=$Com_TypeID&Com_Type=$Com_Type ";
    $pageOutStr=reterPageStr($pageSize,$curPage,$countSql,$UrlPara);
    $pageOutStrArr=explode("",$pageOutStr);
    $rsStart=$pageOutStrArr[0];
    $pageStr=$pageOutStrArr[2];
    $sql="select Com_ID,Com_Type from CommentList order by Com_ID desc limit $rsStart,$pageSize ";    2YVHTML5中文学习网 - HTML5先行者学习网

在这里,$UrlPara 是 在地址的问号后面的参数2YVHTML5中文学习网 - HTML5先行者学习网

比如地址是 http://www.javapeixun.com.cn/blog/?curPage=2&type=a 则 $UrlPara="&type=a";2YVHTML5中文学习网 - HTML5先行者学习网

OK。再有什么不明白的。给我留言即可。2YVHTML5中文学习网 - HTML5先行者学习网

2YVHTML5中文学习网 - HTML5先行者学习网
2YVHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助