PHP 페이징 클래스 사용
- WBOY원래의
- 2016-07-25 09:12:43935검색
PHP 페이징 클래스 사용
page.class.php
- 클래스 페이지 {
- private $total_rows;//총 데이터베이스 항목 수
- private $per_page_rows;//페이지당 표시되는 항목 수
- private $limit;
- private $uri;
- private $total_pages;//총 페이지 수
- private $config=array("header "=> ;"기록 수","prev"=>"이전 페이지","next"=>"다음 페이지","first"=>"홈 페이지","last"=>" 마지막 페이지 ");
- private $list_length=8;
- public function __construct($total_rows,$per_page_rows=10,$url_args){
- $this->total_rows=$total_rows;
- $ this- >per_page_rows=$per_page_rows;
- $this->uri=$this->get_uri($url_args);
- $this->page = !empty($_GET['page'] ) ? $_GET['페이지'] : 1;
- $this->total_pages=ceil($this->total_rows/$this->per_page_rows);
- $this->limit=$ this- >set_limit();
- }
- private function set_limit() {
- return "limit ".($this->page-1)*$this->per_page_rows.",{ $this ->per_page_rows}";
- }
- 비공개 함수 get_uri($url_args) {
- $url=$_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"]," ?" ) ? "" : "?").$url_args;
- $parse=parse_url($url);
- if (isset($parse['query'])) {
- parse_str($ parse[ 'query'],$params);//url 문자열을 배열로 구문 분석
- unset($params['page']);//배열에서 아래 첨자가 페이지인 값을 삭제합니다
- $ url=$parse ['path'].'?'.http_build_query($params);//URL 다시 빌드
- }
- return $url;
- }
- 공개 함수 __get($args) {
- if ($args=="limit") {
- return $this->limit;
- }else{
- return null;
- }
- }
- 비공개 function start_page() {
- if ($this->total_rows==0) {
- return 0;
- }else{
- return (($this->page-1) *$this-> per_page_rows) 1;
- }
- }
- 비공개 함수 end_page(){
- return min($this->page*$this->per_page_rows,$this- >total_rows);
- }
- 비공개 함수 go_first() {
- $html="";
- if ($this->page==1) {
- $html.= " {$this ->config['first']} ";
- }else{
- $html.=" {$this->config['first']} ";
- }
- return $html;
- }
- 비공개 함수 go_prev( ) {
- $ html="";
- if ($this->page==1) {
- $html.=" {$this->config['prev']} ";
- }else{
- $html.=" { $this->config ['prev']} ";
- }
- return $html;
- }
- 비공개 함수 go_next() {
- $html ="";
- if ($this->page==$this->total_pages) {
- $html.=" {$this->config['next']} ";
- } else{
- $html.=" {$this- >config['next ']} ";
- }
- return $html;
- }
- 비공개 함수 go_last() {
- $html="" ;
- if ( $this->page==$this->total_pages) {
- $html.=" {$this->config['last']} ";
- }else{
- $html.=" {$this->config[ 'last']}< ;/a> ";
- }
- return $html;
- }
- private function go_page() {
- 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" /> ';
- }
- 비공개 함수 page_list() {
- $ link_page="";
- $i_num=floor($this->list_length/2);
- for ($i = $i_num; $i >= 1; $i--) {
- $page=$this- >page-$i;
- if ($page<1) {
- 계속;
- }else{
- $link_page.=" {$page} ";
- }
- }
- $link_page.=" {$this->page} ";
- for ($i = 1; $i < $i_num; $i ) {
- $page=$this->페이지 $i;
- if ($page<=$this->total_pages) {
- $link_page.=" {$page} ";
- }else{
- break;
- }
- }
- return $link_page ;
- }
- 공개 함수 out_page($display=array(0,1,2,3,4,5,6,7,8)) {
- $display_html='';
- $ html[0]=" 共유{$this->total_rows}{$this->config['header']} ";
- $html[1 ]=" 每页显示".($this->end_page()-$this->start_page() 1)."条,本页显示从start_page()}--{$this->end_page()}{$this->config['header']} ";
- $html[2]=" {$this->페이지}/{$this->total_pages} $html[3]=$this->go_first();
- $html[4]=$this->go_prev();
- $html[5] =$this->page_list();
- $html[6]=$this->go_next();
- $html[7]=$this->go_last();
- $ html[8]=$this->go_page();
- foreach ($display as $index){
- $display_html.=$html[$index];
- }
- return $display_html ;
- }
- }
- ?>
复代码
page_demo.php
- header("content-type:text/html;charset=utf-8");
- require_once './page.class.php';
- require_once '../config/config.db.php';
- //数据库中的总条数:total_rows;
- //每一页显示的条数:per_page_rows
- $sql= "cp_sd_day에서 * 선택";
- $rt=mysql_query($sql);
- $total_rows=mysql_num_rows($rt);
- $per_page_rows=10;
- $page=새 페이지 ($total_rows,$per_page_rows);
- $sql="select * from cp_sd_day {$page->limit}";
- $rt=mysql_query($sql);
- echo '<테이블 너비 ="1000" border="1">';
- echo '
cp_sd_day';
- while (!!$row=mysql_fetch_assoc( $rt)) {
- echo '
';
- echo '
'.$row['date_no'].' | ';
- echo '< td>'.$row['max_notwin'].'';
- echo '
'.$row['sum_last_miss'].' | ';
- echo '
'.$row['last_miss'].' | ';
- echo '
'.$row['last_miss_sort'].' | ' ;
- echo '
';
- }
- echo '
'.$page->out_page( 배열(2,3,4,5,6,7,8)).' | ';
- echo '
|
';
?>
제제대码
성명:본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.