首頁 >後端開發 >php教程 >[原创]分页中级教程之步进分页,该怎么解决

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

WBOY
WBOY原創
2016-06-13 10:06:571350瀏覽

[原创]分页中级教程之步进分页
在初级教程中提到当页码很多的情况,本文主要是针对此处探讨。欢迎拍砖。

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

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

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


PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>分页实例</title><style>.page A{ padding:3px 5px; float:left; border:solid #CCCCCC 1px; text-decoration:none; font-size:10px; margin-left:1px; font-family:Verdana;color:#000000;}.page A.currentpage{ color:#FF0000; border: solid red 1px;}.page A:hover{ background-color:#CCCCCC;}</style>//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="<a>一共{$total_page}页</a>";    $page_link.="<a>当前第{$page}页</a>";    $page_link.="<a href="?page=1">首页</a>";    if ($page>1){        //页码大于1的时候,显示上一页翻页链接        $pre_page=$page-1;        $page_link.="<a href="?page=%24pre_page">";    }    //翻页列表    //步进分页,翻页列表的数字始终只显示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</a>";        }        else        {            $page_link.="<a href="?page=%24i">$i</a>";        }    }    //页码小于总页数的时候显示下一页翻页链接    $next_page=$page+1;    if($next_page>>";    }    $page_link.="<a href="?page=%24total_page">最后一页</a>";}//输出记录$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 "
$page_link
";?>



------解决方案--------------------
难得看见的加绿色的文章。。
------解决方案--------------------
好教程,适合新手哦,我有自己的分页类
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn