-
-
/** - ** 일반 PHP 페이징 클래스. (Google 스타일 모방)
- ** 총 레코드 수와 페이지당 표시 수라는 두 가지 매개변수만 제공하면 됩니다. (자세한 설명은 첨부합니다..)
- ** URL은 따로 명시하지 않아도 프로그램에서 링크가 생성됩니다. 검색 결과를 페이징하는 데 편리합니다.
- ** 양식은 쿼리 및 삭제와 같은 작업 중에 URL 매개변수가 손실되지 않도록 보장하는 GET 메서드를 사용하여 제출됩니다.
- **/
- 클래스 호출기{
- //IE 주소 열 주소
- var $url;//총 레코드 수
- var $countall;//총 페이지 수
- var $page>//페이징 번호 링크
- var $thestr;
- //홈페이지, 이전 페이지 링크
- var $backstr
- //마지막 페이지, 다음 페이지 링크
- var $nextstr;//현재 페이지 번호
- var $pg;//각 페이지에 표시되는 레코드 수
- var $countlist
- //페이지 넘기기 스타일
- var $style
- //이 클래스를 인스턴스화하는 생성자
- function Pager($countall,$countlist,$style="page"){
- 일 때 이 기능을 자동으로 실행합니다.//레코드 개수와 각 페이지에 표시되는 개수를 합칠 수 없을 때 페이지 개수 나머지로 1이 추가됩니다.
- $this->countall = $countall
- $this->countlist = $countlist
- $this->style=$style; 🎜>if ($this->countall% $this->countlist!=0){
- $this->page=sprintf("%d",$this->countall/$this-> ;countlist) 1
- }else{
- $this->page=$this->countall/$this->countlist
- }
;$this->pg=$_GET[ "pg"];//지정되지 않은 경우 pg가 1페이지에서 시작하도록 보장
- if (!ereg("^[1-9][0-9 ]*$",$this ->pg) || 비어 있음($this->pg)){
- $this->pg=1;
- }
- //페이지 수가 초과되었습니다. 최대 범위, 최대값을 취하세요.
- if ($this->pg>$this->page){
- $this->pg=$this->page; 🎜>//현재 URL을 가져옵니다. 구체적인 구현은 하단의 함수 엔터티를 참조하세요.
- $this->url = Pager::getUrl()
- //잘못된 형식의 페이지 번호를 올바른 페이지 번호로 바꾸세요
- if( isset($_GET[" pg"]) && $_GET["pg"]!=$this->pg){
- $this->url=str_replace("?pg=".$_GET[" pg"],"? pg=$this->pg",$this->url);
- $this->url=str_replace("&pg=".$_GET["pg"]," &pg=$this-> ;pg",$this->url);
- }
- //12345와 같은 숫자 형식으로 페이지 매김을 생성합니다.
- if ($this->page<=10){
- for ($i=1;$i<$this->1페이지;$i ){
- $this->thestr =$this->thestr.Pager::makepg($i,$this->pg);
- }
- }else{
- if ($this->pg<=5){
- for ($i=1;$i<10;$i ){
- $this ->thestr=$this->thestr.Pager::makepg($i,$this->pg);
- }
- }else{
- if (6 $this->pg<=$this->page){
- for ($i=$this->pg-4;$ i<$this->pg 6;$i ){
- $this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
- }
- }else{
- for ($i=$this->pg-4;$i<$this->1페이지;$i ){
- $this-> thestr=$this->thestr.Pager::makepg($i,$this->pg);
- }
}
- }
- }
- //生成上页下页等文字链接
- $this->backstr = 호출기: :gotoback($this->pg);
- $this->nextstr = Pager::gotonext($this->pg,$this->page);
- //echo (" 共".$this->countall." 条,每页".$this->countlist."条,共".$this->page."页".$ this->backstr.$this->thestr.$this->nextstr);
- }
- //生成数字分页的辅助函数
- function makepg($i,$pg){
- if ($i==$pg){
- return " ".$i."";
- }else{
- return " ".$i."";
- }
- }
- //生成上一页等信息적函数
- function gotoback($pg){
- if ($pg-1>0){
- return $this ->gotoback=" 首页< /a> 上一页 a>";
- }else{
- return $this->gotoback="首页 上一页 ";
- }
- }
- //生成下一页等信息적函数
- function gotonext($pg,$page){
- if ($pg < $page){
- return " 下一页url,4,0)." class='".$this->style."'>尾页" ;
- }else{
- return " 下一页 尾页";
- }
- } bbs.it-home.org
- //处理url中$pg적방법,사용于自动生成pg=x
- 함수 replacementpg($url,$flag,$i) {
- if ($flag == 1){
- $temp_pg = $this->pg;
- return str_replace("pg=".$temp_pg,"pg=".($this->pg 1),$url);
- }else if($flag == 2) {
- $temp_pg = $this->pg;
- return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url);
- }else if($flag == 3) {
- $temp_pg = $this->pg;
- return str_replace("pg=".$temp_pg,"pg=1",$url);
- }else if($flag == 4){
- $temp_pg = $this->pg;
- return str_replace("pg=".$temp_pg,"pg=".$this->page,$url);
- }else if($flag == 5){
- $temp_pg = $this->pg;
- return str_replace("pg=".$temp_pg,"pg=".$i,$url);
- }else{
- $url 반환;
- }
- }
- //获得当前URL적 방법
- function getUrl(){
- $url="http://".$_SERVER["HTTP_HOST"];
- if(isset($_SERVER["REQUEST_URI"])){
- $url.=$_SERVER["REQUEST_URI"];
- }else{
- $url.=$_SERVER["PHP_SELF"];
- if(!empty($_SERVER["QUERY_STRING"])){
- $url.="?".$_SERVER["QUERY_STRING"];
- }
- }
- //현재 URL里加入pg=x字样
- if (!ereg("(pg=|PG=|pG=|Pg=)", $url) ){
- if (!strpos($url,"?")){
- $url = $url."?pg=1";
- }else{
- $url = $url."&pg=1";
- }
- }
- return $url;
- }
- }
- ?>
-
复代码
|