asp.net ajax PHP ajax 페이징 클래스 코드
Jul 29, 2016 am 08:39 AM
<?php
//이 페이징 클래스는 SQL을 처리하지 않습니다.
//페이징 기능의 속도가 크게 향상됩니다
//http://blog.csdn.net/fkedwgwy
//Xiaoxiang 블로그--Xiaoxiang
/**
演示
require_once('../libs/classes/page.class.php');
$page=new page(array('total'=>1000,'perpage'=>20));
echo 'mode:1<br>'.$page->show();
echo '<hr>mode:2<br>'.$page->show(2);
echo '<hr>mode:3<br>'.$page->show(3);
echo '<hr>mode:4<br>'.$page->show(4);
echo '<hr>开始AJAX模式:';
$ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
echo 'mode:1<br>'.$ajaxpage->show();
*/
class Zend_Page
{
/**
* 구성, 공개
*/
var $page_name="page " ;//페이지 태그, URL 페이지를 제어하는 데 사용됩니다. 예를 들어, xxx.php?PB_page=2
var $next_page='>';//다음 페이지
var $pre_page='<';//이전 페이지
var $first_page의 PB_page입니다. ='첫 번째';//홈페이지
var $last_page='Last';//마지막 페이지
var $pre_bar='<<';//이전 페이지 표시줄
var $ next_bar=' >>';//다음 페이징 표시줄
var $format_left='';
var $format_right=''
var $is_ajax=false;//AJAX 페이징 지원 여부
var $next_ten_page=">>>";
var $per_ten_page="<<<"
/**
* 비공개
*
*/
var $pagebarnum =10; //레코드 스트립 수를 제어합니다.
var $totalpage=0;//총 페이지 수
var $ajax_acti는 양의 정수가 아닙니다!')
if((!is_int($perpage))||($perpage<= 0 ))$this->error(__FUNCTION__,$perpage.'는 양의 정수가 아닙니다!')
if(!empty($array['page_name']))$this->set(' page_name ',$array['page_name']);//페이지 이름 설정
$this->_set_nowindex($nowindex);//현재 페이지 설정
$this->_set_url($url); // 링크 주소 설정
$this->totalpage=ceil($total/$perpage)
$this->total=$total; this-> ;nowindex-1)*$perpage;
if(!empty($array['ajax']))$this->open_ajax($array['ajax']);//AJAX 모드 열기
}
/**
* 클래스에 지정된 변수 이름의 값을 설정합니다. 변경 사항이 이 클래스에 속하지 않으면 예외가 발생합니다.
*
* @param string $var
* @param 문자열 $값
*/
함수 집합($var,$value)
{
if(in_array($var,get_object_vars($this)))
$this ->$var=$value;
else {
$this->error(__FUNCTION__,$var."는 PB_Page에 속하지 않습니다!");
/**
* 역 AJAX 모드 켜기
*
* @param string $action 기본 Ajax 트리거 동작입니다.
*/
함수 open_ajax($action)
{
$this->is_ajax=true;
$this->ajax_acti
}
/**
* "다음 페이지"를 표시하는 코드 가져오기
*
* @param string $style
* @return string
*/
function next_page($ style="max-width:90%"<span.$style.'">'.$this->next_page.'</span>';
}
/**
* "이전 페이지"를 표시하는 코드 가져오기
*
* @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 '<span.$style.'">'.$this->pre_page .'</span>';
}
/**
* "마지막 10페이지"를 표시하는 코드 가져오기
*
* @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);
}
return '<span.$style.'">'.$this->pre_ten_page.'</span>';
}
/**
* "다음 10페이지"를 표시하는 코드 가져오기
*
* @param string $style
* @return string
*/
function next_ten_page($style='')
{
if(intval($this->nowindex/10) <intval($this->totalpage/10)){
return $this->_get_link($this->_get_url((intval($this->nowindex/10) 1)*10 5),$this->next_ten_page,$style)
}
return '<span.$style.'">'.$this->next_ten_page.'</span>';
}
/**
* "홈 페이지"를 표시하는 코드 가져오기
*
* @return 문자열
*/
function first_page($style='')
{
if($this->nowindex==1){
return '<span.$style.'">'.$this->first_page.'</span>';
}
return $this->_get_link($this-> _get_url(1),$this->first_page,$style)
}
/**
* "마지막 페이지"를 표시하는 코드 가져오기
*
* @return string
*/
function last_page($style='')
{
if($this->nowindex==$this->totalpage){
return '<span.$style.'">'.$this->last_page.'</span>' ;
}
return $this->_get_link($this->_get_url($this->totalpage),$this->last_page,$style);
}
function 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='';
for($i=$begin;$i<$begin $this->pagebarnum;$i )
{
if($i<=$this->totalpage){
if($i!=$this->nowindex)
$return.=$this->_get_text($this->_get_link($this->_get_url($i),$i,$style )));
else
$return.=$this->_get_text('<span.$nowindex_style.'">'.$i.'</span>');
}else{
break;
}
$return.="n";
}
unset($begin)
return $return;
* 점프 버튼을 표시하는 코드 가져오기
*
* @return string
*/
함수 select()
{
$return='<select name="PB_Page_Select" >'
for($i=1;$i<=$ this->totalpage;$i )
{
if($i==$this->nowindex){
$return.='<option value='.$this-> _get_url($i).' selected>'.$i.'</option>';
}else{
$return.='<option value='.$this->_get_url($i).'> '.$i.'</option>';
}
}
unset($i)
$return.='</select>'; return
}
/**
* mysql 문에서 제한에 필요한 값을 가져옵니다.
*
* @return string
*/
함수 offset()
{
return $this->offset;
/**
* 페이징 표시 스타일 제어(해당 스타일 추가 가능)
*
* @param int $mode
* @return string
*/
함수 표시($mode=1,$url='')
{
스위치($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='尾页';
return $this->first_page().$this->pre_page().$this->next_page().$this->last_page();
휴식;
케이스 '4':
$this->next_page='next';
$this->pre_page='마지막';
return $this->pre_page().$this->nowbar().$this->next_page();
휴식;
케이스 '5':
$this->pre_bar().$this->pre_page().$this->nowbar().$this->next_page().$this를 반환합니다. ->next_bar();
휴식;
케이스 '6':
//启用了“上一页”,“下一页”,“最后一页”。可根据情况启用“第一页”。
//$this ->first_page='<img src="'.HOSTPATH.'images/propageup.jpg" width="64" style="max-width:90%" >';
$this->pre_page='<img src="'.HOSTPATH.'images/propageup.jpg">';
$this->next_page='<img src="'.HOSTPATH.'images/propagedown.jpg">';
$this->last_page='最后一页';
//return "<td width=39 align='center'>".$this->select()."</td>"."<td><span>页< ;/span></td>"."<td width=72 align=right>".$this->first_page()."</td>"."<td width=72 align= right>".$this->pre_page()."</td>"."<td width=72 align=right>".$this->next_page()."</td>" ."<td width=72 align=right>".$this->last_page()."</td>";
"<td align='right'>共유[".$this->total."]件商품 ".$this->nowindex."/".$this->totalpage를 반환합니다. "页</td>"."<td width=145>".$this->pre_page()." ".$this->next_page()."</td>"."< ;td width=145>".$this->last_page()." ".$this->select()." 页 ";
휴식;
케이스 '7':
$this->next_page='<img src="'.HOSTPATH.'images/arrpagedown.jpg"/>';
$this->pre_page='<img src="'.HOSTPATH.'images/arrpageup.jpg"/>';
$this->first_page='<img src="'.HOSTPATH.'images/arrhome.jpg"/>';
$this->last_page='<img src="'.HOSTPATH.'images/arrend.jpg"/>';
if($this->totalpage==0)
{$this->nowindex=0;}
return $this->first_page()." ".$this-> pre_page()." ".$this->next_page()." ".$this->last_page()." ".$this->select();
휴식;
케이스 '8':
//启用了“上一页”, “下一页”, “最后一页”。可根据情况启用“第一页”。
//$this->first_page='<img src="'.HOSTPATH.'images/propageup.jpg" width="64" height="13" >';
$this->pre_page='<img src="'.HOSTPATH.'images/propageup.jpg">';
$this->next_page='<img src="'.HOSTPATH.'images/propagedown.jpg">';
$this->last_page='最后一页';
if($this->totalpage==0)
{$this->nowindex=0;}
//return "<td width=39 align='center'>" .$this->select()."</td>"."<td><span>页</span></td>"."<td width=72 align=right> ;".$this->first_page()."</td>"."<td width=72 align=right>".$this->pre_page()."</td>". "<td width=72 align=right>".$this->next_page()."</td>"."<td width=72 align=right>".$this->last_page( )."</td>";
"<td align='right'>共有[".$this->total."]条信息 ".$this->nowindex."/".$this->totalpage를 반환합니다. "页</td>"."<td width=145>".$this->pre_page()." ".$this->next_page()."</td>"."< ;td width=145>".$this->last_page()." ".$this->select()." 页 ";
휴식;
}
}
/*---프라이빗 함수(私유방법)--------------- ------------------*/
/ **
* URL 헤더 주소 설정
* @param: String $url
* @return boolean
*/
함수 _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.'=')){
//地址存在页face参数
$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.'=';
}//end if
}//end if
}//end if
}
/**
* 현재 페이지 설정
*
*/
function _set_nowindex($nowindex)
{
if(empty($nowindex)){
//系统获取
if(isset($_GET[$this->page_name])){
$this->nowindex =intval($_GET[$this->페이지_이름]);
}
}else{
//手动设置
$this->nowindex=intval($nowindex);
}
}
/**
* 지정된 페이지의 주소 값을 반환합니다.
*
* @param int $pageno
* @return string $url
*/
function _get_url($pageno=1)
{
return $this->url.$pageno;
}
/**
* 페이지 매김 표시 텍스트 가져오기. 예를 들어 기본적으로 _get_text('<a href="">1</a>')는 [<a href="">1</a>를 반환합니다. ]
*
* @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 '<a '.$style.' >'.$text.'</a>';
}else{
return '<a '.$style.' href="'.$url.'">'.$text.'</a>';
}
}
/**
* 오류 처리 방법
*/
function error($function,$errormsg)
{
die('<b> 파일에 오류가 있습니다.'. __FILE__.'</b> ,함수 <b>'.$function.'()</b> :'.$errormsg);
}
}
?>
以上就介绍了asp.net ajax PHP ajax 分页类代码, 包括了asp.net ajax방면적 内容, 希望对PHP教程有兴趣的朋友有所帮助.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7292
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29



Laravel Back End : Part 2, React가있는 React 앱 구축

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법
