当前位置: 首页 > 图文教程 > 网络编程 > PHP > 一个好用的分页函数

PHP
用PHP脚本在Linux系统上读取输入和对文
PHP中register_globals引发的问题
PHP基础:安全基础IIS 6的PHP最佳配置
Web开发基础知识分享:Php基础知识了解
实例解析:PHP程序开发中的中文编码问题
PHP5程序中新增加日期(date)函数的常量
新手学堂:PHP服务器变量设置的方法介绍
如何正确理解PHP程序错误信息的表示含义
PHP程序百行代码快速构建简易聊天室方法
如何使用PHP程序开发高效的WEB网络系统
加速PHP动态网站 关于MySQL索引分析优化
教你如何在SQL Server数据库中加密数据
用PHP程序直接调用文本文件内容实例
使用php的zlib压缩和解压缩swf文件
升级PHP5的理由:PHP4和PHP5性能对比
解决php存取mysql 4.1乱码问题
FC 5 php 不可以连接远程mysql数据库
一个特别好的学习PHP引用返回的例子
热门看点:PHP 6新版发布前新特性大展望
开源新版NetBeans让PHP开发变得更加轻松

PHP 中的 一个好用的分页函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 93 ::
收藏到网摘: n/a

复制代码 代码如下:

本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊
/*---------------------------------------------------------------//
* 函数说明:分页函数 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>\n";
}
if($page<$pagecount){
$page_next = $page+1;
$page_url = $PHP_SELF . "?page=".$page_next;
$arr["page_next"] = "|<a href=\"".$page_url."\">下一页</a>\n";
}
$arr["all"] = "<font color=\"#FF0000\">".$page ."</font>/". $pagecount . "页\n";
$arr["first"] = "<a href=\"".$PHP_SELF."?page=1\">首页</a>\n|";
$arr["last"] = "|<a href=\"".$PHP_SELF."?page=".$pagecount."\">末页</a>\n";
$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;
}