[原创]分页初级教程,适合新手

tottyandbaty 2012-01-17 11:03:19
相应妞妞版主的号召,先献丑了,权当抛砖引玉。新手可看,高手不用看。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<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>
</head>

<body><?

error_reporting(7);
//初始化翻页链接参数
$page=$_GET["page"]+0;//思考这里是用强制转换为整数还是用什么方法呢?
$page= $page<=0 ? 1 : $page;//避免$_GET["page"]为负数和0的情况

//分页尺寸
$page_size=10;

$conn=mysql_connect("localhost","root","root") or die(mysql_error());
mysql_select_db("test");

//计算总行数
$total_records=mysql_num_rows(mysql_query("SELECT id from product"));

//总页数
$total_page=ceil($total_records/$page_size);//进一法取整,避免最后一页不满$page_size,

$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=$pre_page'><<</a>";
}
//翻页列表
for ($i=1;$i<=$total_page;$i++)
{
if ($i==$page)
{
//高亮当前页页码
$page_link.="<a href='?page=$i' class='currentpage'>$i</a>";
}
else
{
$page_link.="<a href='?page=$i'>$i</a>";
}

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

//输出记录

$offset=($page-1)*$page_size;
$query=mysql_query("select * from product limit $offset,$page_size") or die(mysql_error());
echo "<ul>";
while ($rs=mysql_fetch_array($query))
{
echo "<li>{$rs["id"]}-{$rs["ename"]}</li>";
}
echo "<ul>";
echo "<div class='page'>$page_link</div>";

?>
</body>
</html>




看完请思考下列问题:

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



未完待续。。。。
...全文
698 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chaos_12289 2012-02-22
  • 打赏
  • 举报
回复
完全的新手应该看什么书自学一下呢?
xuhui37208 2012-01-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 phpnewnew 的回复:]

引用 3 楼 xuhui37208 的回复:

感谢分享 小白我分页都是 首页 上一页 下一页 末页 共X页 木有中间的页数列表 学习了 谢谢乔丹哥分享!


10号是乔丹哥?你搞错了吧?
[/Quote]
23是乔丹哥! 好吧他是主席!
黄袍披身 2012-01-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuhui37208 的回复:]

感谢分享 小白我分页都是 首页 上一页 下一页 末页 共X页 木有中间的页数列表 学习了 谢谢乔丹哥分享!
[/Quote]

10号是乔丹哥?你搞错了吧?
熊猫哥哥 2012-01-26
  • 打赏
  • 举报
回复
可以做成完全通用的模式。
不要与具体的超链接地址绑定。
熊猫哥哥 2012-01-26
  • 打赏
  • 举报
回复
我写了一个JAVA的通用分页代码。 类似下面的样子

<< < [1] [2] [3] 4 [5] [6] [7] [8] [9] [10] > >>
点击>>后
<< < 11 [12] [13] [14] [15] [16] [17] [18] [19] [20] > >>
再点击>>后
<< < 21 [22] [23]
summer8891 2012-01-26
  • 打赏
  • 举报
回复
学习了,真心谢谢,我是新手……
xuhui37208 2012-01-17
  • 打赏
  • 举报
回复
感谢分享 小白我分页都是 首页 上一页 下一页 末页 共X页 木有中间的页数列表 学习了 谢谢乔丹哥分享!
tottyandbaty 2012-01-17
  • 打赏
  • 举报
回复
Sorry,,这里写错了。echo "<div class='page'>$page_link</a>";

应该是echo "<div class='page'>$page_link</div>";

已经修正

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧