자세한 예시 주소: http://www.alleyloft.com/contents/share?id=3
- /***********************************************
- * @ 클래스 이름: page
- * @Parameter: $myde_total - 총 레코드 수
- * $myde_size - 한 페이지에 표시되는 레코드 수
- * $myde_page - 현재 페이지
- * $myde_url - 가져오기 현재 URL
- * @Function: 페이징 구현
- * @Author: 송하이거
- */
- 수업 페이지 {
- private $myde_total; //총 레코드 수
- private $ myde_size; //한 페이지에 표시되는 레코드 수
- private $myde_page; //현재 페이지
- private $myde_page_count; //전체 페이지 수
- //시작 페이지 수
- private $ myde_en; //종료 페이지 수
- private $myde_url; //현재 URL 가져오기
- /*
- * $show_pages
- * 페이지 표시 형식, 표시할 페이지 수 표시 링크는 2*$show_pages 1입니다.<# 🎜> 공개 함수 __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);
- }
- }else{
- $num=1;
- }
- return $num;
- }
- //地址替换
- 비공개 함수 page_replace($page){
- return str_replace("{page}",$page,$this->myde_url);
- }
- //首页
- 비공개 함수 myde_home(){
- if($this-> ;myde_page!=1){
- return "page_replace(1)."" title="首页">首页";
- }else{
- return "
首页 ";
- }
- }
- //上一页
- 비공개 함수 myde_prev(){
- if( $this->myde_page!=1){
- return "page_replace($this->myde_page-1)."" title="上一页" >上一页";
- }else{
- return "
上一页 ";
- }
- }
- //下一页
- 비공개 함수 myde_next(){
- if($this->myde_page!=$this->myde_page_count){
- return "myde_page 1)."" title="下一页">下一页";
- }else{
- return"
下一页 ";
- }
- }
- //尾页
- 비공개 함수 myde_last(){
- if($this->myde_page!=$this-> myde_page_count){
- return "page_replace($this->myde_page_count)."" title="尾页">尾页";
- }else{
- return "
尾页 ";
- }
- }
- //输출
- 공개 함수 myde_write($id='page '){
- $str ="";
- return $str;
- }
- }
- ?>
코드 복사
- require_once('./page.class.php'); //Paging 클래스
- $showrow = 3;//한 페이지에 표시 행 수
- $curpage = 비어 있음($_GET['page'])?1:$_GET['page'];//현재 페이지는 숫자가 아닌 상황도 처리해야 합니다
- $url = "? page={page}";//검색 조건이 있는 경우 페이징 주소="?page={page}&q=".$_GET['q']
- //mysql을 연결하는 코드는 생략하고, 자체적으로 테스트할 수 있습니다. 추가
- $sql = "SELECT * FROM table";
- $query = mysql_query($sql);
- $total = mysql_num_rows($query);//총 레코드 수
- if(!empty($_GET['page']) && $total !=0 && $curpage > ceil($total/$showrow))
- $curpage = ceil($total_rows/$showrow) ;//현재 페이지 번호 마지막 페이지 번호보다 크면 마지막 페이지 가져오기
- //데이터 가져오기
- $get_data = "select * from table Limit ".($curpage-1)*$showrow .",$showrow;";
- ...
- ?>
- <메타 문자 집합 ="utf-8">
- 예는 간단하고 보편적인 PHP 페이징 클래스를 보여줍니다
- #page{
- 높이:40px;
- 패딩: 20px 0px;
- }
- #page a{
- 디스플레이:블록;
- float:left;
- margin-right:10px;
- 패딩:2px 12px;
- 높이: 24px;
- 테두리:1px #cccccc solid;
- 배경:#fff;
- 텍스트 장식:none;
- 색상:#808080;
- 글꼴 크기:12px;
- line -height:24px;
- }
- #page a:hover{
- color:#077ee3;
- border:1px #077ee3 solid;
- }
- #page a.cur{
- 테두리:없음;
- 배경:#077ee3;
- 색상:#fff;
- }
- #page p{
- float:left;
- 패딩:2px 12px;
- 글꼴 크기:12px;
- 높이:24px;
- 줄 높이:24px;
- 색상:#bbb;
- 테두리:1px #ccc solid ;
- 배경:#fcfcfc;
- margin-right:8px;
-
- }
- #page p.pageRemark{
- border-style:none;
- 배경:none;
- margin-right:0px;
- padding:4px 0px;
- color:#666;
- }
- #page p.pageRemark b{
- color:red;
- }
- #page p.pageEllipsis{
- border-style:none;
- background:none;
- padding:4px 0px;
- color:#808080;
- }
- < /style>
-
-
-
-
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
|