首頁  >  文章  >  後端開發  >  asp.net ajax PHP ajax 分頁類別程式碼

asp.net ajax PHP ajax 分頁類別程式碼

WBOY
WBOY原創
2016-07-29 08:39:08942瀏覽
 PHP ajax 分页类代码
//本分頁類不處理SQL;
//大大的加快了分頁功能
//http://blog.csdn.net/fkedwgwy
//瀟湘博客--瀟湘
/**
示範
require_once('../libs/classes/page.class.php');
$page=新頁(array('total'=>1000,'perpage'=>20));
echo 'mode:1
'.$page->show();
echo '
mode:2
'.$page->show(2);
echo '
mode:3
'.$page->show(3);
echo '
mode:4
'.$page->show(4);
echo '
開始AJAX模式:';
$ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
echo 'mode:1
'.$ajaxpage->show();
*/
class Zend_Page
{
/**
* 配置,公用
*/
var $page_name="page"; //page標籤,用來控制url頁。例如xxx.php?PB_page=2中的PB_page
var $next_page='>';//下一頁
var $pre_page='var $first_page ='First';//首頁
var $last_page='Last';//尾頁
var $pre_bar='var $next_bar='> >';//下一分頁條
var $format_left='';
var $format_right='';
var $is_ajax=false;//是否支援AJAX分頁模式
var $is_ajax=false;//是否支援AJAX分頁模式>>";
var $per_ten_page="/**
* 私人
*
*/
var $pagebarnum=10;//控制記錄列的數量。
var $totalpage=0;//總頁數
var $ajax_acti is not a positive integer!');
if((!is_int($perpage))||($perpageerror(__FUNCTION__,$perpage.' is not a positive integer!');
if(!empty($array['page_name']))$this->set('page_name', $array['page_name']);//設定pagename
$this->_set_nowindex($nowindex);//設定目前頁面
$this->_set_url($url);//設定連結位址
$this->totalpage=ceil($total/$perpage);
$this->total=$total;
$this->offset=($this->nowindex-1)*$perpage ;
if(!empty($array['ajax']))$this->open_ajax($array['ajax']);//開啟AJAX模式
}
/**
* 設定類別中指定變數名稱的值,如果改變量不屬於這個類,將throw一個exception
*
* @param string $var
* @param string $value
*/
function set($var,$value)
{
if(in_array($var,get_object_vars($this)))
$this->$var=$value;
else {
$this->error(__FUNCTION__,$var." does not belong to PB_Page!");
}
}
/**
* 開啟倒AJAX模式
*
* @param string $action 預設ajax觸發的動作。
*/
function open_ajax($action)
{
$this->is_ajax=true;
$this->ajax_acti
}
/**
* 取得顯示"下一頁"的程式碼
*
* @param string $style
* @return string
*/
function next_page($ style="max-width:90%"'.$this->next_page.'';
}
/**
* 取得顯示「上一頁」的程式碼
*
* @param string $style
* @return string
*/
function pre_page($style='')
{
if($this->nowindex>1){
return $this->_get_link($this->_get_url ($this->nowindex- 1),$this->pre_page,$style)
}
return ''.$this->pre_page); .'';
}
/**
* 取得顯示「上十頁」的程式碼
*
* @param string $style
* @return string
*/
function pre_ten_page($style='')
{
if(intval($this->nowindex/10)+1>; 1){
return $this->_get_link($this->_get_url(intval($this->nowindex/10)*10-5),$this->pre_ten_page,$style);
}
回傳 ''.$this->pre_ten_page.'';
}
/**
* 取得顯示"下十頁"的程式碼
*
* @param string $style
* @return string
*/
function next_ten_page($style='')
{
if(intval($this->nowindex/10) totalpage/10)){
回傳$this-> _get_link($this->_get_url((intval($this->nowindex/10)+1)*10+5),$this->next_ten_page,$style); 🎜>}
返回'}
/**
* 取得顯示「首頁」的程式碼
*
* @return string
*/
函數first_page($style='')
{
if($this->nowindex==1){
return ''.$this->first_page.'';
}
return $this->_get_link($this->; _get_url(1),$ this->first_page,$style)
}
/**
* 取得顯示「尾頁」的程式碼
*
* @return string
*/
函數last_page($style='')
{
if($this->nowindex= =$this->totalpage){
return ''.$this->last_page.'' ;
}
return $this->_get_link($this->_get_url($this->totalpage),$this->last_page,$style);
}
函數 nowbar($style='',$nowindex_style='')
{
$plus=ceil($this->pagebarnum/2);
if($this->pagebarnum-$plus+$this->nowindex>$this->totalpage)$plus=($this->pagebarnum-$this->totalpage+$this->現在索引);
$begin=$this->nowindex-$plus+1
$begin=($begin>=1)?$begin:1;
$return=''; =$begin;$ipagebarnum;$i++)
{
if($itotalpage){
if($i!=$this- >nowindex)
$return .=$this->_get_text($this->_get_link($this->_get_url($i),$i,$style ));
else
$return. =$this->_get_text(' '.$i.'');
}else{
break;
}
$return .="n";
unset($begin);
回傳$return;
* 取得顯示跳轉鈕的程式碼
*
* @return string
*/
函數select()
{
$return=''; return;
}
/**
* 取得mysql 語句中limit所需的值
*
* @return string
*/
函數offset()
{
return $this->offset;
/**
* 控制分頁顯示風格(你可以增加對應的風格)
*
* @param int $mode
* @return string
*/
function show($mode=1,$url='')
{
switch ($mode)
{
case '1 ':
$this->next_page='下一頁';
$this->pre_page='上一頁';
return $this->pre_page().$this->nowbar( ).$this->next_page().'第'.$this->select().'頁';
休息;
案例'2':
$this->next_page='下一頁';
$this->pre_page='上一頁';
$this->first_page='首頁';
$this->last_page='尾頁';
return $this->first_page().$this->pre_page().'[第'.$this->nowindex.'頁]'.$this->next_page().$this ->last_page().'第'.$this->select().'頁';
休息;
案例'3':
$this->next_page='下一頁';
$this->pre_page ='上一頁';
$this->first_page='首頁';
$this->last_page='尾頁';
回傳$this->first_page().$this-> pre_page().$this->next_page().$this->last_page();
休息;
案例'4':
$this->next_page='next';
$ this->pre_page='last';
返回$this->pre_page().$this->nowbar().$this->next_page();
休息;
案例'5':
返回$this->pre_bar().$this->pre_page().$this->nowbar().$this->next_page().$this ->next_bar();
休息;
case '6':
//啟用了“上一頁”,“下一頁”,“最後一頁”。可依情況啟用「第一頁」。
//$this ->first_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->pre_page= 'asp.net ajax PHP ajax 分頁類別程式碼';
$this->next_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->last_page='最後一頁';
//return "".$this->select().""."頁< ;/span>"."".$this->first_page().""."".$this->pre_page().""."".$this->next_page()."" ."".$this->last_page()."";
return "共有[".$this->total."]件商品    ".$this ->nowindex."/".$this->totalpage. "頁"."".$this->pre_page()."  ".$this->next_page(). ""."< ;td width=145>".$this->last_page()."   ".$this->select()."   頁  ";
休息;
案例' 7':
$this->next_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->pre_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->first_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this-> last_page='asp.net ajax PHP ajax 分頁類別程式碼';
if($this->totalpage==0)
{$this->nowindex=0;}
回傳$this->first_page()."  ".$this->; pre_page()."  ".$this->next_page()."  ".$this->last_page()."  ".$ this->select();
休息;
case '8':
//啟用了“上一頁”,“下一頁”,“最後一頁”。可依情況啟用「第一頁」。
//$this->first_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->pre_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->next_page='asp.net ajax PHP ajax 分頁類別程式碼';
$this->last_page='最後一頁';
if($this->totalpage==0)
{$this->nowindex=0;}
//return "" .$this-> select()."".""."「.$this->first_page().」“.” “.$this->pre_page().””。"".$this->next_page(). ""."".$this->last_page( )."";return "共有[".$ this-> total."]條訊息    ".$this->nowindex."/".$this->totalpage."頁"."".$this->pre_page( )」。  ".$this->next_page().""."".$this->last_page()."   “.$this->select()。”   頁  ";
休息;
}
}
/*---------------- 血管函數(血管方法)------- ----------------------------------------------------------------- ------------ ---------------*/
/ **
* 設定url頭位址
* @param: String $url
* @return boolean
*/
function _set_url($url=" ")
{
if(! empty($url)){
//手動設定
$this-> ;url=$url.((stristr($url,'?') )?'&':'?').$ this->page_name."=";
}else{
//自動取得
if(empty($_SERVER['QUERY_STRING'])) {
//不存在QUERY_STRING時
$this->url=$ _SERVER['REQUEST_URI']."?".$this->page_name."=";
}else{
//
if(stristr($_SERVER[ 'QUERY_STRING'],$this->page_name.'=')){
// 存在位址頁面參數
$this->url=str_replace($ this->page_name.'='.$this- >nowindex,'',$_SERVER['REQUEST_URI']);
$last=$this->url[strlen($this->url)-1] ;
if($last=='? '||$last=='&'){
$this->url.=$this->page_name."="
}else{
$this->url.='&; '.$this->page_name."=";
}
}else{
//
$this->url=$_SERVER ['REQUEST_URI'].'&'.$this ->page_name.'=';
}//結束if
}//結束if
}//結束if
}
/**
* 設定目前頁
*
*/
function _set_nowindex($nowindex)
{
if(empty($nowindex)){
//系統取得
if(isset($_GET [$this->page_name])){
$this->nowindex =intval($_GET[$this->page_name]);
}
}else{
//手動設定
$this->nowindex=intval($nowindex);
}
}
/**
* 為指定的頁面傳回位址值
*
* @param int $pageno
* @return string $url
*/
function _get_url($pageno=1)
{
return $this->url.$pageno;
}
/**
* 取得分頁顯示文字,比如說預設_get_text('1')會回傳[1]
*
* @param String $str
* @return string $url
*/
function _get_text($str)
{
return $this->format_left.$str.$this->format_right;
}
/**
* 取得連結位址
*/
function _get_link($url,$text,$style=''){
$style=(empty($style))?'' :'class="'.$style.'"';
if($this->is_ajax){
//如果是使用AJAX模式
return ''.$text.'';
}else{
回傳 ''.$text.'';
}
}
/**
* 出錯處理方式
*/
函數錯誤($function,$errormsg)
{
die('檔案中出現錯誤'. __FILE__.',函數'.$function.'():'.$errormsg);
}
}

以上就介紹了asp.net ajax PHP ajax 分頁類別程式碼,包含了asp.net ajax方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn