简单分页算法的修改!

php中文网
发布: 2016-06-13 13:29:43
原创
908人浏览过

【急】简单分页算法的修改!!!!

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
//内容分页
    $c_page=$_GET['page']; //当前页
    $contstr=$NewsCentent; //新闻内容
    //从数据库读出的内容
    $listbyte=8000; //每页显示字节数,正常情况下可设置为5000或其他
    //##寻找文章分页点----------
    $contlen=strlen($contstr);    //新闻长度
    $j=0; //总页数
    $listat[0]=0;    //分页点位置数组
    $lookAt=0;        //分页点的起始寻找位置
    for($i=1;$i<$contlen/$listbyte+1;$i++){
     if($lookAt<$listbyte)
        $lookAt=$listbyte;    //寻找分页点的起始位置是页面的默认长度
     if($lookAt>$contlen){    //如果不足一页的长度
        $j++;
        $listat[$j]=$contlen;//存储第$j页的分页点位置    
        break;
      }
        $endAt=strpos($contstr,"\n",$lookAt); // 寻找本页最后一段内容的结束位置(一段内容在一页内)
        //如果余下的内容不足一页的1/5加到本页,或找不到分页符则作一页处理
        if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){
        $j++;
        $listat[$j]=$contlen; ///
        break;
        }
        else{
        $j++;
        $listat[$j]=$endAt;            //存储第$j页的分页点位置
        $lookAt=$endAt+$listbyte;    //下一次寻找分页点的起始搜寻位置
        }
    }

//打印页码
    $pagenum=$j;//总页
    $page=intval($c_page);
    if(empty($page) or $page<1 or $page>$pagenum) $page=1;
    //$row[0]为ID号,翻页后要根据ID来显示内容
    
    //输出当前页内容
    $stag=$page-1;
    $startb=$listat[$stag];//开始位置
    if($startb>0) //去除首个换行
    $startb=$startb+1;
    $cont=substr($contstr,$startb,$listat[$page]-$startb);
    //heightlight_string("$cont");//php高亮代码输出
    $ShowContent=$cont.'<br>';
    
    if($pagenum>1){
        $ShowPage='<dt> <a href="'.$NewsID.'-'.($page-1).'.html">上一页</a> </dt>';
        for($i=1;$i<$pagenum+1;$i++){
            if($page==$i){
                $Class='Class="onnum"';
                $ShowPage.= '<dt> <a '.$Class.' href="'.$NewsID.'-'.$i.'.html">'.$i.'</a> </dt>';
            }else{
                $ShowPage.= '<dt> <a href="'.$NewsID.'-'.$i.'.html">'.$i.'</a> </dt>';
            }
        }
        $ShowPage.='<dt><a href="'.$NewsID.'-'.($page+1).'.html">下一页</a ></dt>';
    }

登录后复制

以上是简单的PHP新闻分页算法和新闻显示,是自动分页算法,我想加一个手动分页符,能在任意位置分页,请高手修改一下,不胜感激!!!

------解决方案--------------------
你把它写成一个类。哪里需要分页就调用它。
------解决方案--------------------
封装成类文件,需要就调用
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号