欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

[原创]分页中级教程之步进分页,该怎么解决

程序员文章站 2024-04-05 12:07:54
...
[原创]分页中级教程之步进分页
在初级教程中提到当页码很多的情况,本文主要是针对此处探讨。欢迎拍砖。

源码与之前的初级分页教程差不多,只是在输出翻页链接的地方稍作改进

什么是步进分页呢?这里简单的说一下

当总页数达到好几百的时候,如果按照之前的文章中的做法,那么页面变得很丑,所有的页码都输出来了,因此很不雅观,所以需要对输出的页码数量进行控制。如果你细心,看discuz的分页。最终显示的页码始终不超过一定数量。


PHP code





分页实例
//PHP分页实例
error_reporting(7);
//初始化翻页链接参数
$page=$_GET["page"]+0;//思考这里是用强制转换为整数还是用什么方法呢?
$page= $page$total_page?$total_page:$page;//避免$_GET["page"]大于总页数

//翻页链接开始
$page_link="";
if ($total_page>1)
{
    $page_link="一共{$total_page}页";
    $page_link.="当前第{$page}页";
    $page_link.="首页";

    if ($page>1){
        //页码大于1的时候,显示上一页翻页链接
        $pre_page=$page-1;
        $page_link.="";
    }
    //翻页列表

    //步进分页,翻页列表的数字始终只显示9个或者自定义的个数,本例定义只显示9个,当前页左右各显示4个页码
    if ($total_page>9)
    {
        if ($page>4)
        {
            $from=$page-4;
            $to=$page+4;
            if ($to>$total_page)
            {
                $from=$total_page-8;
                $to=$total_page;
            }
        }
        else
        {
            $from=1;
            $to=9;
        }

    }
    else
    {
        $from=1;
        $to=$total_page;
    }
    for ($i=$from;$i$i";
        }
        else
        {
            $page_link.="$i";
        }

    }
    //页码小于总页数的时候显示下一页翻页链接
    $next_page=$page+1;
    if($next_page>>";
    }
    $page_link.="最后一页";
}

//输出记录

$offset=($page-1)*$page_size;
$query=mysql_query("select * from product limit $offset,$page_size")  or die(mysql_error());
echo "
    "; while ($rs=mysql_fetch_array($query)) { echo "
  • {$rs["id"]}-{$rs["ename"]}
  • "; } echo "
"; echo ""; ?>



------解决方案--------------------
难得看见的加绿色的文章。。
------解决方案--------------------
好教程,适合新手哦,我有自己的分页类
[原创]分页中级教程之步进分页,该怎么解决

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频