-
- 클래스 페이지{
-
- protected $each_disNums;//페이지당 표시되는 항목 수
- protected $nums; //총 항목 수
- protected $current_page;//현재 선택된 페이지
- protected $sub_pages;//매번 표시되는 페이지 수
- protected $pageNums;//총 페이지 수
- protected $page_array = array();//페이징 구성에 사용되는 배열
- protected $subPage_link;//각 페이지에 대한 링크
- protected $subPage_type;//페이징 표시 유형
- protected $houz;/ /Suffix
- /*
- __construct는 클래스 생성 시 자동으로 실행되는 SubPages의 생성자입니다.
- @$each_disNums 각 페이지에 표시되는 항목 수
- @nums 총 항목 수
- @current_num 현재 선택된 페이지
- @sub_pages가 매번 표시하는 페이지 수
- @subPage_link 각 페이지의 링크
- @subPage_type은 페이지 유형을 표시합니다.
-
- @subPage_type=일 때 1 일반 페이징 모드
- 예: 총 4523개의 레코드, 각 페이지에 10개의 레코드 표시, 현재 페이지 1/453 [홈] [이전 페이지] [다음 페이지] [마지막 페이지]
- @subPage_type=2일 때 클래식 페이지 매김 스타일 사용
- 예: 현재 페이지 1/453 [홈 페이지] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지]
- */
- 기능 __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type,$houz=''){
- $this->each_disNums=intval($each_disNums)
- $this-> ;nums=intval($nums);
- if(!$current_page){
- $this->current_page=1
- }else{
- $this->current_page=intval($ current_page);
- $this->sub_pages=intval($sub_pages)
- $this->pageNums=ceil($nums/$each_disNums); subPage_link=$subPage_link;
- $this->show_SubPages($subPage_type);
- $this->houz=$houz;
- //echo $this->pageNums."--". $this->sub_pages;
- }
-
- /*
- __destruct 소멸자, 클래스가 더 이상 사용되지 않을 때 호출되며 이 함수는 리소스를 해제하는 데 사용됩니다.
- */
- function __destruct(){
- unset($each_disNums);
- unset($nums)
- unset($sub_pages); 🎜>unset($pageNums);
- unset($page_array);
- unset($subPage_link)
- unset($subPage_type)
-
- /*
- show_SubPages 함수는 생성자에서 사용됩니다. 그리고 표시할 페이징 종류를 결정하는 데 사용됩니다.
- */
- function show_SubPages($subPage_type){
- if($subPage_type == 1){
- $this->subPageCss1()
- }elseif ($subPage_type == 2){
- $this->subPageCss2();
- }
- }
-
- /*
- 는 사용된 배열을 초기화하는 데 사용됩니다. 페이징 기능을 생성합니다.
- */
- 함수 initArray(){
- for($i=0;$i<$this->sub_pages;$i ){
- $this->page_array[$i] =$i;
- }
- return $this->page_array;
- }
-
- /*
- construct_num_Page该函数使用来构造显示的条目
- 即使:[1][2][3][4][5][6][7] [8][9][10]
- */
- 함수 constructor_num_Page(){
- if($this->pageNums < $this->sub_pages){
- $current_array=array ();
- for($i=0;$i<$this->pageNums;$i ){
- $current_array[$i]=$i 1;
- }
- }else{
- $current_array=$this->initArray();
- if($this->current_page <= 3){
- for($i=0;$i $current_array[$i]= $나는 1;
- }
- }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages 1 ){
- for($i=0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages) 1 $i;
- }
- }else{
- for($i=0;$i $current_array[$i]=$this->current_page- 2$i;
- }
- }
- }
-
- return $current_array;
- }
-
- * /*
- */ bbs.it-home.org
- function subPageCss1(){
- $subPageCss1Str="";
- $subPageCss1Str.="共".$this->nums."条记录,";
- $subPageCss1Str.="每页显示".$this->each_disNums."条,";
- $subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
- if($this->current_page > 1){
- $firstPageUrl=$this->subPage_link."1".$this->houz;
- $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->houz;
- $subPageCss1Str.="[首页] ";
- $subPageCss1Str.="[上一页] ";
- }else {
- $subPageCss1Str.="[首页] ";
- $subPageCss1Str.="[上一页] ";
- }
-
- if($this->current_page < $this->pageNums){
- $lastPageUrl=$this->subPage_link.$this->pageNums.$this ->후즈;
- $nextPageUrl=$this->subPage_link.($this->current_page 1).$this->houz;
- $subPageCss1Str.=" [下一页] ";
- $subPageCss1Str.="[尾页] ";
- }else {
- $subPageCss1Str.="[下一页] ";
- $subPageCss1Str.="[尾页] ";
- }
-
- $subPageCss1Str을 반환합니다.
- }
- /*
- 构造经典模式的分页
- 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
- */
- 함수 subPageCss2(){
- $subPageCss2Str="";
- $subPageCss2Str.="共[".$this->nums."]条 当前第".$this->current_page."/".$this->pageNums."页";
-
- if($this->current_page > 1){
- $firstPageUrl=$this->subPage_link."1".$this->houz;
- $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->houz;
- $subPageCss2Str.="[首页] ";
- $subPageCss2Str.="[上一页] ";
- }else {
- $subPageCss2Str.="[首页] ";
- $subPageCss2Str.="[上一页] ";
- }
-
- $a=$this->construct_num_Page();
- for($i=0;$i$s=$a[$i];
- if($s == $this->current_page ){
- $subPageCss2Str.="[".$s. "]";
- }else{
- $url=$this->subPage_link.$s.$this->houz;
- $subPageCss2Str.="[".$s."]";
- }
- }
-
- if($this->current_page < $this->pageNums){
- $lastPageUrl=$this->subPage_link.$this-> pageNums.$this->houz;
- $nextPageUrl=$this->subPage_link.($this->current_page 1).$this->houz;
- $subPageCss2Str.=" [下一页] ";
- $subPageCss2Str.="[尾页] ";
- }else {
- $subPageCss2Str.="[下一页] ";
- $subPageCss2Str.="[尾页] ";
- }
- $subPageCss2Str을 반환합니다.
- }
- /*
- 클래식 모드 ajax 페이지 매김 구성
- 현재 페이지 1/453 [홈] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지]
- * /
- 함수 subPageCss3($fun='',$v='n'){
- $subPageCss2Str=""
- $subPageCss2Str.="합계[".$this->nums ." ]현재 페이지 ".$this->current_page."/".$this->pageNums."
-
- if($this->current_page > 1){
- // $firstPageUrl=$this->subPage_link."1"
- $prewPageUrl=$this->current_page-1
- $subPageCss2Str.="[홈페이지] ";
- $subPageCss2Str.="[이전 페이지] ";
- }else {
- $subPageCss2Str.=" [Home] ";
- $subPageCss2Str.="[이전 페이지] ";
- }
-
- $a=$this->construct_num_Page()
- for($i= 0;$i$s=$a[$i];
- if($s == $this->current_page ){
- $subPageCss2Str .="[$s]";
- }else{
- $subPageCss2Str.="[$s]";
- }
- }
-
- if($this- >current_page < $this->pageNums){
- $lastPageUrl=$this->pageNums;
- $nextPageUrl=$this->current_page 1
- $subPageCss2Str.=" ;a href='javascript:void(0)' onClick='return $fun("$nextPageUrl","$v")'>다음 페이지] " ;
- $subPageCss2Str.="[ 마지막 페이지 ] ";
- }else {
- $subPageCss2Str.="[다음 페이지] ";
- $subPageCss2Str.="[마지막 페이지] ";
- }
- return $subPageCss2Str; ;
-
-
- 코드 복사
사용법:
이 페이지 클래스를 인스턴스화합니다.
$list = 새 페이지(페이지당 데이터 조각 수, 총 데이터 양, 현재 페이지, 페이징 구성에 사용된 배열, 각 페이징에 대한 링크, 표시되는 페이징 유형, 접미사);
예를 들어 $list = new Page(10,1000,1,10,'/zjjz/',2,'.html');
echo $page = $list->subPageCss2();
다음이 표시됩니다.
현재 페이지 1/100 [홈 페이지] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지] 각 연결은 /zjjz/1.html,/zjjz/2.html... .
의사 정적을 달성하기 위해 직접적인 필요에 따라 각 페이지의 링크를 결합할 수 있습니다.
Ajax 페이징은
$list = 새 페이지($pagesize,$areaAllNumber,$current_page,10,”,3);
$url = $val1.','.$val2;//트리거하려는 js 함수에 전달될 값입니다.
$page = $list->subPageCss3('checkProducts',$url);//첫 번째 매개변수는 트리거될 js 함수입니다. 따라서 Ajax 페이징 효과를 얻습니다.
총 4523개의 레코드가 있는 subPageCss1도 있고, 각 페이지에 10개의 레코드가 표시되며 현재 페이지는 1/453입니다. [홈페이지] [이전 페이지] [다음 페이지] [마지막 페이지] 이 간단한 스타일도 의사 정적을 지원합니다.
|