仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1995|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:PHP教程:相似GOOGLE搜刮了局的分页

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:44:19 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。   </p> 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;
}

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;
    }
}
如上所示。
挪用的时分只是需求挪用
reterPageStr($pageSize,$curPage,$countSql,$pagePara)
这个函数便可。
前往的的是个字符串,以""朋分开的。
$outStr=$rsStart."". $pageCount."".$pageStr."".$rsCount;
$rsStart 是用来读取数据库的时分 limit 前面的参数
$pageCount 是暗示共有几何页码
$pageStr 便是输入的 页码。
$rsCount 是纪录总数。
挪用的示例以下

    $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 ";   
在这里,$UrlPara 是 在地址的问号前面的参数
好比地址是 http://www.javapeixun.com.cn/blog/?curPage=2&type=a 则 $UrlPara="&type=a";
OK。再有甚么不分明的。给我留言便可。
讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴。
小女巫 该用户已被删除
沙发
 楼主| 发表于 2015-2-4 04:00:57 | 显示全部楼层
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 16:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表