复制代码 代码如下:
/*
mysql_pager.class.php
三个参数。 mysql_query()的结果, url变量page, 您要的每页记录数
例子在这个文件底部
淡水河边整理测试
*/
class mysql_pager {
// define properties
var $page;
var $result;
var $results_per_page = 3;
var $total_pages;
/*
Define the methods
下面是构造函数,和类同名(>php4)
需要查询的结果句柄,当前页码,每页记录数
like: $f->mysql_pager($result, 1, 15);
*/
function mysql_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); * 以下は、コンテンツを印刷します。
n";
$start = ($this->page - 1) * $this->results_per_page; start);
$x = 0 ; { $bgcolor =$bgcolor>
エコー " |
n"; }
/* $PHP_SELF;
echo "
for($i = 1; $i ;total_pages; $i ) { # 印刷するループ << 1 2 3... $total_pages >> if($i == 1 && $this->page > 1) << 最初に前のページに移動します (1 ページ目ではありません)
echo "
page - 1)."" onMouseOver= "status="前のページ"; return true;" onMouseOut="status=" ";return true;">?"; リンク自体、ページ番号を表示するだけです
echo "
$i ";
if($i != $this-> page) #このページ以外のリンクはここにあります
echo "
$i < ;/a>";
if($i == $this->total_pages && $this->page != $this->total_pages) # 次のページへのリンク >> (最後のページではありません)
echo "page 1)." " onMouseOver="status="次のページに移動";return true ;" onMouseOut="status=" ";return true;">?"; echo "
$p = new mysql_pager( $result, $page=$_GET["page"], 10 ) ; ;print_navigation();