麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
发布自己写的PHP分页显示类,请各位达人指点
悬赏分:20 - 2007年08月22日

///////本文转自我的个人博客:blog.csdn.net/caleng

<?php

require_once("sys_info.php"); //包含环境变量类

/*
文件名:ClassDataGrid.php
类名:数据分页显示类 ClassDataGrid
作者:感染源
时间:2007-1-4
*/

class ClassDataGrid
{
//属性
var $max_line; //每页显示的最多行数

var $begin_record; //开始记录号,即读取的第一行ID号
var $total_records; //数据表中所有记录的总数
var $current_records; //当前页的记录总数

var $result; //查询读取的结果

var $total_pages; //总页数
var $current_page; //当前页数


/*
以下私有属性用来连接数据库
*/

private $ConnId;
private $host;
private $pwd;
private $user;
private $dbname;


//构造函数,用以连接数据库,以及初始化开始记录ID号和最大显示行数
function __construct()
{
$this->host = sys_info:HOST;
$this->user = sys_info:USER;
$this->pwd = sys_info:PWD;
$this->dbname = sys_info:DBNAME;

$this->max_line = sys_info:MAX_LINE; //显示最大函数

$this->begin_record = 0; //初始化首行记录号

$this->ConnId = mysql_connect($this->host,$this->user,$this->pwd) or die('连接数据库出错!'.mysql_error());

mysql_select_db($this->dbname,$this->ConnId);

}//function __construct()


//析构函数,用以释放内存和关闭数据库连接
function __destruct()
{
mysql_free_result($this->result); //释放内存
mysql_close($this->ConnId); //关闭数据库链接
}//function __destruct();


//函数__get(),PHP内置函数,获取类的属性
function __get($property_name)
{
if(isset($this->$property_name))
{
return($this->$property_name);
}
else
{
return(NULL);
}//if
}//function __get();


//函数__set(),PHP内置函数,给类实例对象的属性赋值
function __set($property_name,$value)
{
$this->$property_name = $value;
}//function __set();



/*
函数名:read_data($sql)
形式参数:$sql,即sql查询语句
功能:根据sql查询语句从表中读取相应的记录
返回值:函数内变量$result_arr[记录号][字段名]
*/
function read_data($sql)
{
$this->result = mysql_query($sql,$this->ConnId) or die('查询失败!'.mysql_error());

//获取记录总数
$this->total_records = mysql_num_rows($this->result);

if($this->total_records>0)
{
//利用limit关键字获取本页所需显示的记录
$sql = $sql." limit ".$this->begin_record.','.$this->max_line;

$this->result = mysql_query($sql,$this->ConnId) or die('获取数据失败!'.mysql_error());

//获取当前页的记录数
$this->current_records = mysql_num_rows($this->result);

$i = 0;
$result_arr = array();

while($row=mysql_fetch_array($this->result))
{
$result_arr[$i++] = $row;
}//while

return $result_arr;
}//if
}//function read_data();



/*
函数名:navigate()
功能:显示首页、上页、下页、末页
*/

function navigate()
{
//获取总页数
$this->total_pages = ceil($this->total_records/$this->max_line);

//获取当前页数
$this->current_page = ceil($this->begin_record/$this->max_line)+1;

//用for循环输出阿拉伯数字分页页码
for($i=0;$i<$this->total_pages;$i++)
{
$FirstId = 0; //数据库首行记录号,即ID=1
$page_record = $this->max_line*$i+$FirstId; //当前页读取的起始行数ID
$page = $i+1; //显示的阿拉伯页码
if($page!=$this->current_page)
echo "".$page." ";
else
echo "".$page." ";
}//for

}//function navigate();

}//class ClassDataGrid;
?>

提问者:caleng   08-22 15:03
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
52 + 88 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM