>  기사  >  백엔드 개발  >  PHP 페이징 클래스 사용

PHP 페이징 클래스 사용

WBOY
WBOY원래의
2016-07-25 09:12:43935검색
';
  • while (!!$row=mysql_fetch_assoc( $rt)) {
  • echo '
  • ';
  • echo '
  • ';
  • echo '< td>'.$row['max_notwin'].'';
  • echo '
  • ';
  • echo '
  • ';
  • echo '
  • ' ;
  • echo '
  • ';
  • }
  • echo '
  • ';
  • echo '
  • PHP 페이징 클래스 사용

    page.class.php

    1. 클래스 페이지 {
    2. private $total_rows;//총 데이터베이스 항목 수
    3. private $per_page_rows;//페이지당 표시되는 항목 수
    4. private $limit;
    5. private $uri;
    6. private $total_pages;//총 페이지 수
    7. private $config=array("header "=> ;"기록 수","prev"=>"이전 페이지","next"=>"다음 페이지","first"=>"홈 페이지","last"=>" 마지막 페이지 ");
    8. private $list_length=8;
    9. public function __construct($total_rows,$per_page_rows=10,$url_args){
    10. $this->total_rows=$total_rows;
    11. $ this- >per_page_rows=$per_page_rows;
    12. $this->uri=$this->get_uri($url_args);
    13. $this->page = !empty($_GET['page'] ) ? $_GET['페이지'] : 1;
    14. $this->total_pages=ceil($this->total_rows/$this->per_page_rows);
    15. $this->limit=$ this- >set_limit();
    16. }
    17. private function set_limit() {
    18. return "limit ".($this->page-1)*$this->per_page_rows.",{ $this ->per_page_rows}";
    19. }
    20. 비공개 함수 get_uri($url_args) {
    21. $url=$_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"]," ?" ) ? "" : "?").$url_args;
    22. $parse=parse_url($url);
    23. if (isset($parse['query'])) {
    24. parse_str($ parse[ 'query'],$params);//url 문자열을 배열로 구문 분석
    25. unset($params['page']);//배열에서 아래 첨자가 페이지인 값을 삭제합니다
    26. $ url=$parse ['path'].'?'.http_build_query($params);//URL 다시 빌드
    27. }
    28. return $url;
    29. }
    30. 공개 함수 __get($args) {
    31. if ($args=="limit") {
    32. return $this->limit;
    33. }else{
    34. return null;
    35. }
    36. }
    37. 비공개 function start_page() {
    38. if ($this->total_rows==0) ​​​​{
    39. return 0;
    40. }else{
    41. return (($this->page-1) *$this-> per_page_rows) 1;
    42. }
    43. }
    44. 비공개 함수 end_page(){
    45. return min($this->page*$this->per_page_rows,$this- >total_rows);
    46. }
    47. 비공개 함수 go_first() {
    48. $html="";
    49. if ($this->page==1) {
    50. $html.= " {$this ->config['first']} ";
    51. }else{
    52. $html.="  {$this->config['first']} ";
    53. }
    54. return $html;
    55. }
    56. 비공개 함수 go_prev( ) {
    57. $ html="";
    58. if ($this->page==1) {
    59. $html.=" {$this->config['prev']}  ";
    60. }else{
    61. $html.=" { $this->config ['prev']} ";
    62. }
    63. return $html;
    64. }
    65. 비공개 함수 go_next() {
    66. $html ="";
    67. if ($this->page==$this->total_pages) {
    68. $html.=" {$this->config['next']}  ";
    69. } else{
    70. $html.=" {$this- >config['next ']} ";
    71. }
    72. return $html;
    73. }
    74. 비공개 함수 go_last() {
    75. $html="" ;
    76. if ( $this->page==$this->total_pages) {
    77. $html.=" {$this->config['last']} ";
    78. }else{
    79. $html.=" {$this->config[ 'last']}< ;/a> ";
    80. }
    81. return $html;
    82. }
    83. private function go_page() {
    84. return ' < ;input type="button " onclick="javascript:var page=(this.previousSibling.value>'.$this->total_pages.')?'.$this->total_pages.':this.previousSibling.value ;location=''.$this->uri.'&page=' 페이지 ''" value="GO" /> ';
    85. }
    86. 비공개 함수 page_list() {
    87. $ link_page="";
    88. $i_num=floor($this->list_length/2);
    89. for ($i = $i_num; $i >= 1; $i--) {
    90. $page=$this- >page-$i;
    91. if ($page<1) {
    92. 계속;
    93. }else{
    94. $link_page.=" {$page} ";
    95. }
    96. }
    97. $link_page.=" {$this->page} ";
    98. for ($i = 1; $i < $i_num; $i ) {
    99. $page=$this->페이지 $i;
    100. if ($page<=$this->total_pages) {
    101. $link_page.=" {$page} ";
    102. }else{
    103. break;
    104. }
    105. }
    106. return $link_page ;
    107. }
    108. 공개 함수 out_page($display=array(0,1,2,3,4,5,6,7,8)) {
    109. $display_html='';
    110. $ html[0]=" 共유{$this->total_rows}{$this->config['header']} ";
    111. $html[1 ]=" 每页显示".($this->end_page()-$this->start_page() 1)."条,本页显示从start_page()}--{$this->end_page()}{$this->config['header']}  ";
    112. $html[2]=" {$this->페이지}/{$this->total_pages} $html[3]=$this->go_first();
    113. $html[4]=$this->go_prev();
    114. $html[5] =$this->page_list();
    115. $html[6]=$this->go_next();
    116. $html[7]=$this->go_last();
    117. $ html[8]=$this->go_page();
    118. foreach ($display as $index){
    119. $display_html.=$html[$index];
    120. }
    121. return $display_html ;
    122. }
    123. }
    124. ?>
    复代码

    page_demo.php

    1. header("content-type:text/html;charset=utf-8");
    2. require_once './page.class.php';
    3. require_once '../config/config.db.php';
    4. //数据库中的总条数:total_rows;
    5. //每一页显示的条数:per_page_rows
    6. $sql= "cp_sd_day에서 * 선택";
    7. $rt=mysql_query($sql);
    8. $total_rows=mysql_num_rows($rt);
    9. $per_page_rows=10;
    10. $page=새 페이지 ($total_rows,$per_page_rows);
    11. $sql="select * from cp_sd_day {$page->limit}";
    12. $rt=mysql_query($sql);
    13. echo '<테이블 너비 ="1000" border="1">';
    14. echo '

    cp_sd_day

    '.$row['date_no'].' '.$row['sum_last_miss'].' '.$row['last_miss'].' '.$row['last_miss_sort'].'
    '.$page->out_page( 배열(2,3,4,5,6,7,8)).'
    ';
  • ?>
  • 제제대码




    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    이전 기사:js에서 드롭다운 목록 값과 요소 수를 얻는 방법다음 기사:js에서 드롭다운 목록 값과 요소 수를 얻는 방법

    관련 기사

    더보기