+ -
当前位置:首页 → 问答吧 → 简简单单的分页函数

简简单单的分页函数

时间:2009-07-21

来源:互联网

[php]
//使用时只需给2个参数.page(查询的表名($table),每页显示多少数据($pagesize));
//分页函数
function page($table,$pagesize)
{
global $_GET,$offset;
$current = $_GET['page']; //获取当前页数

$conn = db_connect(); //数据库连接

/******获取总数据******/
$num = $conn->query("select * from $table");
$num = $num->num_rows;
/******获取总数据******/
$pagetotal = ceil($num/$pagesize); //计算总页数


if(!$current || $current<1)  //判断如果当前页数小于1,那么当前页数等于1;避免页面出现负数
{
  $current = 1;
}

if($current>$pagetotal)  //总页数==尾页,如果当前页大于尾页,那么则等于尾页
{
  $current = $pagetotal;
}

$offset = ($current-1)*$pagesize;  //分页公式

$prepage = $current-1; //上一页
$nextpage = $current+1;  //下一页

/***********分页显示开始***********/
$page ='';
if($current<=1)  
{
  $page .= "首页"."||"."上一页";
}
else
{
  $page .=  "<a href='?page=1'>首页</a>"."||"."<a href='?page=$prepage'>上一页</a>";
}

//////////显示数字导航翻页//////////
$off_set = 3;  //控制偏移量
$intpage = 6;  //数字分页数限制

if($pagetotal<$intpage)
{
  $minpage = 1;
  $maxpage = $pagetotal;
}
elseif($pagetotal>$intpage)
{
if(($current-$off_set)>=1) $minpage = $current-$off_set;
else $minpage = 1;

if(($current+$off_set)<=$pagetotal) $maxpage = $current+$off_set;
else $maxpage = $pagetotal;

if(($current + $off_set)<$intpage)
{
  $minpage = 1;
  $maxpage = $intpage;
}
}
//////////数字导航翻页结束//////////

for($i=$minpage;$i<=$maxpage;$i++)
{
  $page .= ($i==$current)?" <a href='?page=$i'><b><font color=red>$i</font></b></a> ":" <a href='?page=$i'>$i</a> ";
}

if($current<$pagetotal)
{
  $page .= "<a href='?page=$nextpage'>下一页</a>"."||"."<a href='?page=$pagetotal'>尾页</a>";
}
else
{
  $page .= "下一页"."||"."尾页";
}
/**********分页显示结束**********/

return $page;
}
[/php]



[php]
$conn = db_connect();
$page = page('message','1');
$pagesize = 1;
$result = $conn->query("select * from `message` limit $offset,$pagesize");
while($row = $result->fetch_array())
{
  echo "<li>".$row['content']."</li><hr>";
}
echo $page;
[/php]

作者: liumingchen   发布时间: 2009-07-21

  有改进地方请告知,谢谢

作者: liumingchen   发布时间: 2009-07-21

新手,学习下,帮顶

作者: yxindan726s   发布时间: 2009-07-21

学习是王道

作者: gerryge   发布时间: 2009-07-22

    
级别: 圣骑士

[查看作者资料] [发送短消息] [加为好友] [对该用户使用道具]
精华: 1
发帖: 114
威望: 136 点
金钱: 929 PHP
贡献值: 0 点
好评度: 0 点
注册时间:2008-12-25
最后登录:2009-07-21    
小 中 大 引用 推荐 编辑 举报 只看 复制

  有改进地方请告知,谢谢

作者: sbso   发布时间: 2009-07-23

菜鸟,学习下!

作者: gavin239509   发布时间: 2009-07-24

收藏,还没学到,到时候再说。

作者: hapboy   发布时间: 2009-07-24

好东西。值得学习啊。。。

作者: mcfull   发布时间: 2009-07-25

$conn = db_connect(); //数据库连接

这个怎么改 弄不好啊老大

作者: yusl   发布时间: 2009-07-25

学习啊

作者: wdxt206   发布时间: 2009-07-28

热门下载

更多