>백엔드 개발 >PHP 튜토리얼 > [原创]分页初级教程,适合新手,该怎么解决

[原创]分页初级教程,适合新手,该怎么解决

WBOY
WBOY원래의
2016-06-13 13:47:181518검색

[原创]分页初级教程,适合新手
相应妞妞版主的号召,先献丑了,权当抛砖引玉。新手可看,高手不用看。


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>




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">";
    }
    //翻页列表
    for ($i=1;$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
      "; ?>


看完请思考下列问题:

1.如果页码有很多,可能有上百个,这个翻页链接列表该怎么输出?



未完待续。。。。

------解决方案--------------------
感谢分享 小白我分页都是 首页 上一页 下一页 末页 共X页 木有中间的页数列表 学习了 谢谢乔丹哥分享!
------解决方案--------------------
学习了,真心谢谢,我是新手……
------解决方案--------------------
我写了一个JAVA的通用分页代码。 类似下面的样子

>>
点击>>后
>> 
再点击>>后 
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.