欢迎来到福编程网,本站提供各种互联网专业知识!

mysql+php分页类(已测)

发布时间:2008-03-31 作者: 来源:转载
三个参数。mysql_query()的结果,url变量page,您要的每页记录数例子在这个文件底部淡水河边整理测试

复制代码 代码如下:
/*
mysql_pager.class.php

三个参数。mysql_query()的结果,url变量page,您要的每页记录数
例子在这个文件底部
淡水河边整理测试
*/

classmysql_pager{
//defineproperties
var$page;
var$result;
var$results_per_page=3;
var$total_pages;

/*
Definethemethods

下面是构造函数,和类同名(>php4)
需要查询的结果句柄,当前页码,每页记录数
like:$f->mysql_pager($result,1,15);
*/

functionmysql_pager($result,$current_page,$results_per_page){

if(!$result){
echo"数据库未运行,结果集错误

n";
return;
}

$this->result=$result;

if(!$current_page||$current_page<0)
$this->page=1;
else$this->page=$current_page;

if(!emptyempty($results_per_page))
$this->results_per_page=$results_per_page;

$numrows=@mysql_num_rows($this->result);
if(!$numrows){
echo"查询结果为空.

n";
return;
}

$this->total_pages=ceil($numrows/$this->results_per_page);
}

/*
下面是打印内容的函数,可以不用,也可以根据自己的需要扩展
这里只是打印出id
*/

functionprint_paged_results(){
echo"n";
$start=($this->page-1)*$this->results_per_page;
mysql_data_seek($this->result,$start);
$x=0;
for($i=1;$i<=$this->results_per_page&&$row=@mysql_fetch_array($this->result);$i++){
if($x++&1)$bgcolor="#F2F2FF";
else$bgcolor="#EEEEEE";

echo"".$row["id"]."";
//编辑这部分输出任何您想要的HTML

}

echo"n";
}

/*
下面是打印页码和链接的函数
在我们需要显示页码的地方调用
*/

functionprint_navigation(){
global$PHP_SELF;

echo"";

for($i=1;$i<=$this->total_pages;$i++){#looptoprint<<123...$total_pages>>
if($i==1&&$this->page>1)#Printsthe<echo"page-1).""onMouseOver="status="PreviousPage";returntrue;"onMouseOut="status="";returntrue;">?";

if($i==$this->page)#Doesn"tprintalinkitself,justprintspagenumber
echo"$i";

if($i!=$this->page)#Otherlinksthataren"tthispagegohere
echo"$i";

if($i==$this->total_pages&&$this->page!=$this->total_pages)#Linkfornextpage>>(notonlastpage)
echo"page+1).""onMouseOver="status="GototheNextPage";returntrue;"onMouseOut="status="";returntrue;">?";
}

echo"

n";
}

}

/*
mysql_connect($server,$uname,$pass);
mysql_select_db("$db");
$result=@mysql_query("Select*FROMtable");

$p=newmysql_pager($result,$page=$_GET["page"],10);
$p->print_navigation();
$p->print_paged_results();
$p->print_navigation();
*/
?>

相关推荐