一个好用的分页函数
作者:bea
代码如下: 本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊 /*---------------------------------------------------------------// *函数说明:分页函数page($sql,$pagesize="30") *$sql查询语句(除limit外,可带排序或者条件限制) *如select*fromstuwheretimebetween"1"and"30"; *$pagesize每页的显示
代码如下:
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊
/*---------------------------------------------------------------//
* 函数说明:分页函数 page($sql,$pagesize="30")
* $sql 查询语句(除limit外,可带排序或者条件限制)
* 如 select * from stu where time between "1" and "30";
* $pagesize 每页的显示条数
* ## 可输出数组$arr的值,说明如下:
* $arr["first"] 首页及地址
* $arr["page_pre"] 上一页及地址
* $arr["all"] 当第几页和总页数
* $arr["page_next"]下一页及地址
* $arr["last"] 末页及地址
* $arr["pagelist"] 页码列表及地址,显示当前页前后4页列表
* $arr["query"] 语句 $arr["query"] = mysql_query($sql)
* $arr["nums"] 记录总数
* 2006.09.06 by Kevin QQ:84529890
//----------------------------------------------------------------*/
function page($sql,$pagesize="30"){
global $arr,$PHP_SELF;
$query = mysql_query($sql);
$num = mysql_num_rows($query);
$pagecount = ceil($num/$pagesize);
$page = $_GET["page"];
if(!$page) $page=1;
if($page>$pagecount) $page = $pagecount;
$offset = ($page-1)*$pagesize;
$sql.=" limit $offset , $pagesize";
$arr["query"] = mysql_query($sql);
if($page>1){
$page_pre = $page-1;
$page_url = $PHP_SELF . "?page=".$page_pre;
$arr["page_pre"] = "<a href="".$page_url."">上一页|</a>
";
}
if($page<$pagecount){
$page_next = $page+1;
$page_url = $PHP_SELF . "?page=".$page_next;
$arr["page_next"] = "|<a href="".$page_url."">下一页</a>
";
}
$arr["all"] = "<font color="#FF0000">".$page ."</font>/". $pagecount . "页
";
$arr["first"] = "<a href="".$PHP_SELF."?page=1">首页</a>
|";
$arr["last"] = "|<a href="".$PHP_SELF."?page=".$pagecount."">末页</a>
";
$plfront="";
if($page<=5 && $page>=1){
for($i=1;$i<=9;$i++){
$plfront.= " <a href="".$PHP_SELF."?page=$i">".$i."</a>";
}
}elseif($page>5 && $page<$pagecount-5){
for($i=$page-4;$i<$page+5;$i++){
$plfront.= " <a href="".$PHP_SELF."?page=$i">".$i."</a>";
}
}else{
for($i=$pagecount-8;$i<=$pagecount;$i++){
$plfront.= " <a href="".$PHP_SELF."?page=$i">".$i."</a>";
}
}
$arr["pagelist"] = $plfront." ";
$arr["nums"] = $num;
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP配置心得包含MYSQL5乱码解决
- PHP+MySQL5.0中文乱码解决方法
- PHP的面试题集,附我的答案和分析(一)
- echo(),print(),print_r()之间的区别?
- PHP的面试题集
- php+mysql实现无限级分类 | 树型显示分类关系
- PHP生成静态页面详解
- smarty实例教程
- PHP编程中八种常见的文件操作方式
- PHP初学入门
- PHP5新特性: 更加面向对象化的PHP
- Windows中安装Apache2和PHP4权威指南
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- Windows下的PHP5.0详解
- 一些关于PHP的知识
- PHP4和PHP5共存于一系统
- Apache2 httpd.conf 中文版
- php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
- 一个MYSQL操作类