分享下自己的分页函数,可任意改样式
时间:2009-06-13
来源:互联网
本帖最后由 羊柿得 于 2009-6-13 21:02 编辑
当前页为2时可显示9页连接
当前页为最后页时显示9页连接
中间无论怎么点都是9页连接,当然这个连接自己随便改
那个地方可以更完美点,麻烦指出,谢谢!
代码:
<?php
//分页
function page($pageno,$count){
$off_set=4;//偏移
$page_pel=9;//面板容量
//$count=ceil($pg_last/$pagesize); //总页数
if($count<=$page_pel){
$minpage=1; //分页导航最小页值
$maxpage=$count; //分页导航最大页值
}
if($count>$page_pel){
if(($pageno-$off_set)>0){
$minpage=$pageno-$off_set;
}else{
$minpage=1;
}
if(($pageno+$off_set)<=$count){
$maxpage=$pageno+$off_set;
}else{
$minpage=$count-$off_set*2;
$maxpage=$count;
}
if(($pageno+$off_set)<$page_pel){
$minpage=1;
$maxpage=$page_pel;
}
}
$url='';
$url.="<div id='page'>";
if($pageno==1){
$url.="<span class='disabled'>首页</span>";
}else{
$url.="<a href='?pageno=1'>首页</a>";
}
if($pageno>1){
$url.="<a href='?pageno=".($pageno-1)."'>上一页</a>";
}else{
$url.="<span class='disabled'>上一页</span>";
}
for($i=$minpage;$i<=$maxpage;$i++){
if($i==$pageno){
$url.="<span class='current'>".$i."</span>";
}else{
$url.="<a href='?pageno=".$i."'>".$i."</a>";
}
}
if($pageno<$count){
$url.="<a href='?pageno=".($pageno+1)."'>下一页</a><a href='?pageno=".$count."'>尾页</a>";
}else{
$url.="<span class='disabled'>下一页</span><span class='disabled'>尾页</span>";
}
$url.="</div>";
return $url;
}
?>
调用只要两个参数
pageno当前页
$count总页数
当然调用页要做好当前页的判断
基本调用:
[php] include('include/C_mysql.php');
include('include/Function.php');
$db=new Mysql();
$pageno=isset($_GET['pageno'])?intval($_GET['pageno']):1;
$sql="SELECT * FROM `theme`";
$pagesize=4; //每页显示记录
$pg_last=$db->rows($sql); //总记录数,最后页
$count=ceil($pg_last/$pagesize); //总页数
if($pageno<1) $pageno=1;
if($pageno>$count) $pageno=$count;
$url=page($pageno,$count); //分页
$re_sql=$sql."ORDER BY `id` DESC LIMIT ".($pageno-1)*$pagesize.",".$pagesize;
$query=$db->query($re_sql);
while($result=$db->fetch_array($query))
{
//.....................................................
}
echo $url; //显示分页
?>[/php]
当前页为2时可显示9页连接
当前页为最后页时显示9页连接
中间无论怎么点都是9页连接,当然这个连接自己随便改
那个地方可以更完美点,麻烦指出,谢谢!
代码:
<?php
//分页
function page($pageno,$count){
$off_set=4;//偏移
$page_pel=9;//面板容量
//$count=ceil($pg_last/$pagesize); //总页数
if($count<=$page_pel){
$minpage=1; //分页导航最小页值
$maxpage=$count; //分页导航最大页值
}
if($count>$page_pel){
if(($pageno-$off_set)>0){
$minpage=$pageno-$off_set;
}else{
$minpage=1;
}
if(($pageno+$off_set)<=$count){
$maxpage=$pageno+$off_set;
}else{
$minpage=$count-$off_set*2;
$maxpage=$count;
}
if(($pageno+$off_set)<$page_pel){
$minpage=1;
$maxpage=$page_pel;
}
}
$url='';
$url.="<div id='page'>";
if($pageno==1){
$url.="<span class='disabled'>首页</span>";
}else{
$url.="<a href='?pageno=1'>首页</a>";
}
if($pageno>1){
$url.="<a href='?pageno=".($pageno-1)."'>上一页</a>";
}else{
$url.="<span class='disabled'>上一页</span>";
}
for($i=$minpage;$i<=$maxpage;$i++){
if($i==$pageno){
$url.="<span class='current'>".$i."</span>";
}else{
$url.="<a href='?pageno=".$i."'>".$i."</a>";
}
}
if($pageno<$count){
$url.="<a href='?pageno=".($pageno+1)."'>下一页</a><a href='?pageno=".$count."'>尾页</a>";
}else{
$url.="<span class='disabled'>下一页</span><span class='disabled'>尾页</span>";
}
$url.="</div>";
return $url;
}
?>
调用只要两个参数
pageno当前页
$count总页数
当然调用页要做好当前页的判断
基本调用:
[php] include('include/C_mysql.php');
include('include/Function.php');
$db=new Mysql();
$pageno=isset($_GET['pageno'])?intval($_GET['pageno']):1;
$sql="SELECT * FROM `theme`";
$pagesize=4; //每页显示记录
$pg_last=$db->rows($sql); //总记录数,最后页
$count=ceil($pg_last/$pagesize); //总页数
if($pageno<1) $pageno=1;
if($pageno>$count) $pageno=$count;
$url=page($pageno,$count); //分页
$re_sql=$sql."ORDER BY `id` DESC LIMIT ".($pageno-1)*$pagesize.",".$pagesize;
$query=$db->query($re_sql);
while($result=$db->fetch_array($query))
{
//.....................................................
}
echo $url; //显示分页
?>[/php]
作者: 羊柿得 发布时间: 2009-06-13
本帖最后由 羊柿得 于 2009-6-13 21:09 编辑
如下:css样式
#page{ text-align:center;font-size:13px }
#page a{ padding:1px 6px;margin:2px;
border:1px solid #7fa6e7;
color:#003fa6;text-decoration:none;
font-weight:bold }
#page a:visited{ border:1px solid #7fa6e7;
color:#003fa6;
text-decoration:none;
font-weight:bold }
#page a:hover{ border:1px solid #003fa6;
background-color:#fdffd7;
color:#003fa6;text-decoration:none;
font-weight:bold }
#page span.current{ padding:1px 6px;margin:2px;
border:1px solid #003fa6;
background-color:#003fa6;
color:#ffffff;font-weight:bold }
#page span.disabled{ border:1px solid #7fa6e7;
color:#444444;padding:2px 6px;margin:2px; }
如下:css样式
#page{ text-align:center;font-size:13px }
#page a{ padding:1px 6px;margin:2px;
border:1px solid #7fa6e7;
color:#003fa6;text-decoration:none;
font-weight:bold }
#page a:visited{ border:1px solid #7fa6e7;
color:#003fa6;
text-decoration:none;
font-weight:bold }
#page a:hover{ border:1px solid #003fa6;
background-color:#fdffd7;
color:#003fa6;text-decoration:none;
font-weight:bold }
#page span.current{ padding:1px 6px;margin:2px;
border:1px solid #003fa6;
background-color:#003fa6;
color:#ffffff;font-weight:bold }
#page span.disabled{ border:1px solid #7fa6e7;
color:#444444;padding:2px 6px;margin:2px; }
作者: 羊柿得 发布时间: 2009-06-13
哎 不错 收藏下
作者: niceup 发布时间: 2009-06-13
谢谢支持!
作者: 羊柿得 发布时间: 2009-06-14
看看

作者: yichao840 发布时间: 2009-06-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28