> 백엔드 개발 > PHP 튜토리얼 > PHP 범용 페이징 구성 요소

PHP 범용 페이징 구성 요소

WBOY
풀어 주다: 2016-07-29 08:57:28
원래의
1047명이 탐색했습니다.
/* * ************************************* ********
* @Class 이름: 페이지
* @Parameter: $myde_total - 총 레코드 수
* $myde_size - 한 페이지에 표시되는 레코드 수
* $ myde_page - 현재 페이지
* $myde_url - 현재 URL 가져오기
* @Function: 페이지 매김 구현
*/
클래스 페이지 {
private $myde_total; //총 레코드 수
private $ MyDe_size; // 한 페이지에 표시되는 레코드 수
Private $ MyDe_page; // 현재 페이지
Private $ MyDe_page_count; // 전체 페이지
Private $ Myde_i;                                                                               비공개 $myde_url ; +1.<如>** $ show_pages = 2 那么页面上显示就是 [首页] [上页] 1 2 3 4 5 [下页] [尾页] <🎜]
*/
private $ show_pages;
public 함수 __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {
        $this->myde_total = $this->numeric($myde_total);
        $this->myde_size = $this->numeric($myde_size);
        $this->myde_page = $this->numeric($myde_page);
        $this->myde_page_count = ceil($this->myde_total / $this->myde_size);
        $this->myde_url = $myde_url;
        if ($this->myde_total < 0)
            $this ->myde_total = 0;
        if ($this->myde_page < 1)
            $this->myde_page = 1;
        if ($this->myde_page_count < 1)
            $this->myde_page_count = 1;
        if ($this->myde_page > $this->myde_page_count)
            $this->myde_page = $this->myde_page_count;
        $this->limit = ($this->myde_page - 1) * $this->myde_size;
        $this->myde_i = $this->myde_page - $show_pages;
        $ this->myde_en = $this->myde_page + $show_pages;
        if ($this->myde_i < 1) {
            $this->myde_en = $this->myde_en + (1 - $this->myde_i);
            $this->myde_i = 1;
        }
if ($this->myde_en > $this->myde_page_count) {
            $this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count) ;
            $this->myde_en = $this->myde_page_count;
        }
        if ($this->myde_i < 1)
            $this->myde_i = 1;
    }
    //检测是否为数字
    비공개 함수 숫자($num) {
        if (strlen($num)) {
            if (!preg_match("/^[0-9 ]+$/", $num)) {
                $num = 1;
            } else {
                $num = substr($num, 0, 11);
            }
        } 그 외 {
            $num = 1;
        }
        return $num;
    }
    //地址替换
    비공개 함수 page_replace($page) {
        return str_ 교체("{ page}", $page, $this->myde_url);
    }
    //首页
    비공개 함수 myde_home() {
        if ($this->myde_page != 1) {
            "首页";
        } else {
            return "

首页

";
        }
    }
    //上一页
    비공개 함수 myde_prev() {
        if ($this->myde_page != 1) {
            return "上一页";
        } else {
            return "

上一页

";
        }
    }
    //下一页
    비공개 함수 myde_next() {
        if ($this->myde_page != $this->myde_page_count) {
            return "下一页";
        } else {
            return"

下一页

";
        }
    }
    //尾页
    private function myde_last() {
        if ($this->myde_page != $this->myde_page_count) {
            return "尾页";
        } else {
            return "

尾页

";
        }
    }
    //输出
    public function myde_write($id = 'page') {
        $str = "
";
        $str.=$this->myde_home();
        $str.=$this->myde_prev();
        if ($this->myde_i > 1) {
            $str.="

...

";
        }
        for ($i = $this->myde_i; $i <= $this->myde_en; $i++) {
            if ($i == $this->myde_page) {
                $str.="$i";
            } else {
                $str.="$i";
            }
        }
        if ($this->myde_en < $this->myde_page_count) {
            $str.="

...

";
        }
        $str.=$this->myde_next();
        $str.=$this->myde_last();
        $str.="

" . $this->myde_page_count .
                "
" . $this->myde_total . "条数据

";
        $str.="
";
        return $str;
    }
}

?>

include_once("config.php");
require_once('page.class.php') //페이징 클래스
$showrow = 3; 한 페이지에 표시되는 행 수
$curpage = 비어 있음($_GET['page']) ? 1 : $_GET['page'] //현재 페이지는 숫자가 아닌 상황도 처리해야 합니다
$ url = "?page={page}"; //검색 조건이 있는 경우 페이징 주소="?page={page}&q=".$_GET['q']
//mysql을 연결하는 코드 생략되면 테스트할 때 직접 추가하세요.
$sql = "SELECT id,content,lastdate FROM message";
$total = mysql_num_rows(mysql_query($sql)) //총 레코드 수
if (!empty ($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow))
$curpage = ceil($total_rows / $showrow); 현재 페이지 번호가 마지막 페이지 번호보다 큽니다. 마지막 페이지를 가져옵니다
//데이터 가져오기
$sql .= " LIMIT " . ($curpage - 1) * $showrow;";
$query = mysql_query ($sql);
?>




                                                    " c /> /jquery/css/ common.css "/& gt;
& lt; 스타일 유형 =" 텍스트/css "& gt; p {margin: 0}
#page {
height: 40px; >   
              margin-right:10px;
                                                                                                            사용 사용   사용  사용       사용       사용 사용 통해   통해   통해 통해 통해 ‐ ‐ ‐‐ ‐‐margin-right:10px;
                                            /                                    색상:
                줄 높이: 24px; :1px #077ee3 solid;
}
          #page a .cur{
                                                                                             , , ,                       , , ,                       ,,,, #페이지 p{
부동:왼쪽;
패딩:2px 12px ; 글꼴 크기: 12px;
줄 높이: 24px;
테두리: 1px #CCC Solid; fcfcfc;
                                                                    사용   사용   사용   사용       사용     사용   사용         사용 통해 통해    통해     통해     통해 ‐   ‐ ‐ ‐ margin-right:8px background:none;
margin-right:0px; >>             
            #page p.pageRemark b{
                color:red;
            }
            #page p.pageEllipsis{
                border-style:none;
                background:none;
                padding:4px 0px;
                color:#808080;
            }
            .dates li {font-size: 14px;margin:20px 0}
            .dates li span{float:right}
       
   
   
       


           

               
               
           

       

       

           

               

教程:PHP简单漂亮的分页类


               

                   

                           
                               

  •                                
                                   
                               

  •                        
                       

                   
               

                                                                                                                                              🎜> $page = 새 페이지($total, $showrow, $curpage, $url, 2); >
           
원본 링크: www.sucaihuo.com
                                         ="text/javascript" src="http://www.sucaihuo.com/Public/js /other/jquery.js">






$host="localhost";
$db_user="root";
$db_pass="";
$db_name="test";
$timez/상하이";
$link=mysql_connect($host,$db_user,$db_pass);mysql_select_db($db_name,$link);

mysql_query("SET 이름 UTF8");

header("콘텐츠 유형: 텍스트 /html; charset=utf-8");?>



위에서 내용의 측면을 포함하여 PHP 일반 페이징 구성 요소를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿