class PageSupport{
//屬性
var $sql; //所要顯示資料的SQL查詢語句
var $page_size; //每頁顯示最多行數
var $start_index; //所要顯示記錄的首行序号
var $total_records; //記錄總數
var $current_records; //本頁讀取的記錄數
var $result; //讀出的結果
var $total_pages; //總頁數
var $current_page; //目前頁數
var $display_count = 30; //顯示的前幾頁和後幾頁數
var $arr_page_query; //數組,包含分頁顯示需要傳遞的參數
var $first;
var $prev;
var $next;
var $last;
//方法
function PageSupport($ppage_size)
{
$this->page_size=$ppage_size;
$this->start_index=0;
}
function __destruct()
{
}
function __get($property_name)
{
if(isset($this->$property_name))
{
return($this->$property_name);
}
else
{
return(NULL);
}
}
function __set($property_name, $value)
{
$this->$property_name = $value;
}
function read_data()
{
$psql=$this->sql;
//查詢資料,資料庫連結等資訊應在類調用的外部實作
$result=mysql_query($psql) or die(mysql_error());
$this->total_records=mysql_num_rows($result);
//利用LIMIT關鍵字擷取本頁所要顯示的記錄
if($this->total_records>0)
{
$this->start_index = ($this->current_page-1)*$this->page_size;
$psql=$psql. " LIMIT ".$this->start_index." , ".$this->page_size;
$result=mysql_query($psql) or die(mysql_error());
$this->current_records=mysql_num_rows($result);
//将查詢結果放在result數組中
$i=0;
while($row=mysql_fetch_Array($result))
{
$this->result[$i]=$row;
$i++;
}
}
//擷取總頁數、目前頁資訊
$this->total_pages=ceil($this->total_records/$this->page_size);
$this->first=1;
$this->prev=$this->current_page-1;
$this->next=$this->current_page+1;
$this->last=$this->total_pages;
}
function standard_navigate()
{
echo "";
echo "";
echo "";
}
function full_navigate()
{
echo "";
echo "";
echo "";
}
}
?>