-
-
수업 페이지 { - //수업 시작
- /**************************************************** * ****
- * $total 총 레코드 수
- * $pageNum 각 페이지에 표시되는 항목 수
- * $url = '' link
- * $page->StartPage (표시 카테고리 통계, 문자 카테고리/숫자 페이징, 점프);
- * $page->StartPage(true/false, true/false, true/false);
- * 사이트 http://bbs.it-home .org
- ********************************************* *** *********** /
- private $total; //총 레코드 수
- private $pageNum; //각 페이지에 표시되는 숫자
- private $page; //현재 페이지 수
- private $pages; 총 페이지 수
- private $url; //페이지 url
- private $Aque; //URL 매개변수
-
- /* 생성자*/
- public 함수 PAGE($total, $pageNum, $url=' ?'){
- $this->total = $total; //총 레코드 수
- $this->pageNum = $pageNum; //페이지당 표시되는 수
- $this-> ;url = $this->StrSift($url); //$url 값이 유효한지 확인합니다.
- $this->Aque = $_GET;
- $this ->page = $this->StrSift($_GET['page']) //현재 페이지 GET(전역 변수) 모드 매개변수, 현재 페이지 번호
- $ this->page = is_numeric($this ->page) ? $this->page : 1; //현재 페이지 번호가 숫자가 아닌 경우 1로 설정합니다.
- $this-> 페이지 = ceil($total/$pageNum); //전체 페이지 수.
- if($this->page<1) $this->page = 1; 1, 1로 설정하세요.
- //if ($this->page>$this->pages) $this->page = $this->pages; //페이지 번호가 더 클 경우; 최대 페이지 수보다 최대 페이지 수로 설정하세요.
- }
- /******************
- * 페이징 방법
- *********************/
- function StartPage($str, $view=true, $jump=true){
- if($view==true) $PageStr .= $this-> ;GetCount(); //통계 정보 페이징
- if($str=='str') $PageStr .= $this-> GetPageStr(); //문자 페이징 형식 선택
- else $PageStr .= $this->GetPageNum(); //숫자 페이징 형식 선택
- if($jump==true) $PageStr .= $this ->JumpSelect(); //점프
- return $PageStr;
- }
/***********************************************
- * 표시 통계 정보 형식: 총 5개 기록 페이지: 2/3
- ************************************ ****************/
- function GetCount(){
- $CountStr = "전체". $this-> ;total ."기록 페이지:".$this->page."/".$this->pages." ";
- return $CountStr;
- }
/***********************************************
- * 페이지 매김 형식 1: 첫 페이지 이전 페이지 다음 페이지 마지막 페이지
- ************************************ ****************/
- function GetPageStr(){
- $url = $this->url; //URL 가져오기
- //URL 매개변수 처리: 배열의 키는 URL 변수이고, 배열의 값은 URL 변수의 값입니다.
- foreach( $this->Aque as $key => $val){
- 스위치($key){
- 케이스 "페이지":
- $Next = $val 1;
- $Prev = $ val - 1;
- 중단;
- 기본값:
- $Sque . = "&$key=".$this->StrSift($val);
- }
- }
- if($Next==0) $Next=2;
- //홈페이지에서 한 페이지
- switch($this->page){
- case $this->page<=1 :
- $pagestr .= "홈페이지 ";
- $pagestr . = "이전 페이지 ";
- break;
- 기본값:
- $pagestr .= "< a href='".$url."?page=1$Sque'> 홈 ";
- $pagestr .= "이전 페이지 ";
- }
- //다음 페이지의 마지막 페이지
- switch($this->page){
- 케이스 $this->page>=$this-> 페이지:
- $pagestr .= "다음 페이지 ";
- $pagestr .= "마지막 페이지 ";
- break;
- 기본값:
- $pagestr .= "다음 페이지 ";
- $pagestr .= "마지막 페이지 ";
- }
- //페이징 문자열을 반환합니다.
- return $pagestr;
- }
/**************************************************** * *******
- * 페이징 형식은 다음과 같습니다. 총 4307 기록 페이지: 1/72 1 2 3 4 5 6 7 8 9 10
- ******** **** ********************************************** **/
- function GetPageNum(){
- $url = $this->url
- //URL 매개변수 구성 처리: 배열의 키는 URL 변수이고, 배열의 값은 URL 변수의 값입니다.
- foreach($this->Aque as $key => $val){
- 스위치($key){
- 케이스 $key!="page":
- $Sque .= "&$key=".$this->StrSift($val);
- }
- }
- switch($this ->pages){
- //총 페이지 수가 12페이지보다 큽니다:
- case $this->pages>12:
- //Before the 페이징 번호: <<<
- 스위치($this->page){
- 케이스 $this->page>1:
- $pagestr .= " ";
- $pagestr .= " ";
- break;
- 기본값:
- $pagestr .= "< " ;
- $pagestr .= "<< "
- }
- //페이지 번호: 1 2 3 4 5 6 왼쪽에 6개의 페이징 링크가 있고 오른쪽에 6개의 페이징 링크가 있습니다. 현재 페이지 번호.
- for($i=$this->page -6; $i<=$this->page 6; $i ){
- if($i>$this- >pages) break;
- if($i==$this-> page) $pagestr .= $i." ";
- elseif($i>=1) $pagestr .= " $i ";
- }
- //번호 페이징 후: > >> ;
- 스위치($this->page){
- 케이스 $this ->page<$this->pages:
- $pagestr .= " >> ";
- $pagestr .= "> ";
- break;
- 기본값:
- $pagestr .= ">  ;";
- $pagestr .= ">> ";
- }
- break;
- 기본값:
- //총 페이지 수는 12페이지 미만입니다.
- for($i=1; $i<=$this->pages; $i ){
- 스위치($i){
- 케이스 $i==$this->페이지:
- $pagestr .= $i." ";
- break;
- 기본값:
- $pagestr .= "$i ";
- }
- }
- }
- //페이징 문자열을 반환합니다.
- return $pagestr;
- }
-
- /************************
- * 점프 페이지를 정의하세요. BEGIN
- **************** **********/
- function JumpSelect(){
- $url = $this->url
- //처리 URL 매개변수: 배열의 키는 URL 변수입니다. 배열의 값은 URL 변수의 값입니다.
- foreach($this->Aque as $key => ; $val){
- if($key != "page") $Sque .= "&$key=".$this->StrSift($val);
- }
- $SelectStr = "n
- for($ i=1; $i<=$this->pages; $i ){
- if($i == $this ->page) $selected = "선택됨";
- else $selected = " ";
- $SelectStr .= "<옵션 값=$i".$selected.">$i
- }
- $SelectStr .= "
- //페이징 문자열을 반환합니다.
- return $SelectStr;
- }
/**************************************
- * 특수문자를 필터링합니다.
- *** **** ****************************/
- 비공개 함수 StrSift($str){
- $str = str_replace(""","",$str);
- $str = str_replace("'","",$str);
- $str = str_replace("[url=file://","",$str/]\","",$str[/url ]);
- $str = str_replace("/","",$str );
- $str = str_replace(":","",$str);
- $str = str_replace(" ?","",$str); //제거하면 "??"가 됩니다. .
- $str = str_replace(">","",$str);
- $str = str_replace("< ;","",$str);
- $str = str_replace(" %","",$str);
- $str = str_replace("*","",$str);
- $str = str_replace("&","",$str);
- $str = str_replace(".","",$str);
- return $str;
- } p>
//수업 종료
- }
- ?>
-
코드 복사
관심 있는 친구는 다음 기사를 참조할 수도 있습니다.
좋은 PHP 페이징 클래스 코드
실용적인 PHP 페이징 수업
페이지 매김 스타일 시트:
-
- /*드롭다운 메뉴 또는 텍스트 입력 상자 스타일*/
- # JumpSelect{
- 배경:#159bd0;
- 테두리:1px 솔리드 #ffff66;
- 색상:#ffff66;
- 너비:37px;
- 글꼴 크기:11px;
- 패딩:0 0 0 0;
- 여백:0 0 0 0;
- 스크롤바-얼굴 색상: #d0dff7;
- 스크롤바-하이라이트-색상: #d0dff7
- 스크롤바-그림자 색상: #FFFFFF;
- 스크롤바-3DLIGHT-색상: #FFFFFF;
- 스크롤바-화살표-색상: #ffffff;
- 스크롤바-추적-색상: #ffffff;
- 스크롤바-어두운 색상-색상: #d0dff7;
- base -color: #ededed;
- 스크롤바 화살표 색상: #000;
- 스크롤바 하이라이트 색상: #fafafa;
- 스크롤바 그림자 색상: #fafafa;
- 스크롤바 트랙 -color : #ededed;
- scrollbar-face-color: #fafafa;
- scrollbar-darkshadow-color: #ededed;
- scrollbar-3dlight-color: #ededed;
- }
- < ;/ 스타일>
코드 복사
|