<?PHP classPage{ //分页栏每页显示的页数 public$rollPage=10; //页数跳转时要带的参数 public$parameter; //默认列表每页显示行数 public$listRows=20; //起始行数 public$firstRow; //分页总页面数 protected$totalPages; //总行数 protected$totalRows; //当前页数 protected$nowPage; //分页的栏的总页数 protected$coolPages; //分页显示定制 protected$config=array('header'=>'条记录','prev'=>'上一页','next'=>'下一页','first'=>'首页','last'=>'尾页','theme'=>'%totalRow%%header%%nowPage%/%totalPage%页%upPage%%first%%prePage%%linkPage%%downPage%%nextPage%%end%%ajax%'); //默认分页变量名 protected$varPage; //分页外层div的id protected$pagesId; //分页内容替换目标ID protected$target; /** +---------------------------------------------------------- *架构函数 +---------------------------------------------------------- *@accesspublic +---------------------------------------------------------- *@paramarray$totalRows总的记录数 *@paramarray$listRows每页显示记录数 *@paramarray$parameter分页跳转的参数 +---------------------------------------------------------- */ publicfunction__construct($totalRows,$listRows='',$parameter='',$target='',$pagesId=''){ $this->totalRows=$totalRows; $this->parameter=$parameter; $this->target=$target; $this->pagesId=$pagesId; $this->varPage=C('VAR_PAGE')?C('VAR_PAGE'):'p'; if(!empty($listRows)){ $this->listRows=intval($listRows); } $this->totalPages=ceil($this->totalRows/$this->listRows);//总页数 $this->coolPages=ceil($this->totalPages/$this->rollPage); $this->nowPage=!empty($_GET[$this->varPage])?intval($_GET[$this->varPage]):1; if(!empty($this->totalPages)&&$this->nowPage>$this->totalPages){ $this->nowPage=$this->totalPages; } $this->firstRow=$this->listRows*($this->nowPage-1); } publicfunctionsetConfig($name,$value){ if(isset($this->config[$name])){ $this->config[$name]=$value; } } /** +---------------------------------------------------------- *分页显示输出 +---------------------------------------------------------- *@accesspublic +---------------------------------------------------------- */ publicfunctionshow(){ if(0==$this->totalRows) return''; $p=$this->varPage; $nowCoolPage=ceil($this->nowPage/$this->rollPage); $url=$_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?").$this->parameter; $parse=parse_url($url); if(isset($parse['query'])){ parse_str($parse['query'],$params); unset($params[$p]); $url=$parse['path'].'?'.http_build_query($params); } //上下翻页字符串 $upRow=$this->nowPage-1; $downRow=$this->nowPage+1; if($upRow>0){ $upPage="<ahref='".$url."&".$p."=$upRow'>".$this->config['prev']."</a>"; }else{ $upPage=""; } if($downRow<=$this->totalPages){ $downPage="<ahref='".$url."&".$p."=$downRow'>".$this->config['next']."</a>"; }else{ $downPage=""; } //<<<>>> if($nowCoolPage==1){ $theFirst=""; $prePage=""; }else{ $preRow=$this->nowPage-$this->rollPage; $prePage="<ahref='".$url."&".$p."=$preRow'>上".$this->rollPage."页</a>"; $theFirst="<ahref='".$url."&".$p."=1'>".$this->config['first']."</a>"; } if($nowCoolPage==$this->coolPages){ $nextPage=""; $theEnd=""; }else{ $nextRow=$this->nowPage+$this->rollPage; $theEndRow=$this->totalPages; $nextPage="<ahref='".$url."&".$p."=$nextRow'>下".$this->rollPage."页</a>"; $theEnd="<ahref='".$url."&".$p."=$theEndRow'>".$this->config['last']."</a>"; } //12345 $linkPage=""; for($i=1;$i<=$this->rollPage;$i++){ $page=($nowCoolPage-1)*$this->rollPage+$i; if($page!=$this->nowPage){ if($page<=$this->totalPages){ $linkPage.=" <ahref='".$url."&".$p."=$page'> ".$page." </a>"; }else{ break; } }else{ if($this->totalPages!=1){ $linkPage.=" <spanclass='current'>".$page."</span>"; } } } //<script>jquery分页</script> $ajax=''; if($this->target){ $ajax=<<<eco <script> jQuery(function($){ $('#{$this->pagesId}a').click(function(){ $.ajax({ url:$(this).attr('href'),dataType:"html",type:"POST",cache:false,success:function(html){ $("#{$this->target}").html(html); } }); returnfalse; }); }); </script> eco; } $pageStr=str_replace( array( '%header%','%nowPage%','%totalRow%','%totalPage%','%upPage%','%downPage%','%first%','%prePage%','%linkPage%','%nextPage%','%end%','%ajax%' ),array( $this->config['header'],$this->nowPage,$this->totalRows,$this->totalPages,$upPage,$downPage,$theFirst,$prePage,$linkPage,$nextPage,$theEnd,$ajax ),$this->config['theme'] ); return$pageStr; } }
publicfunctionajaxPage(){ $tz=M('MoneyLog'); import('ORG.Util.ajaxpage'); $count=$tz->count(); $page=newPage($count,10,'type=1','ajax_div','ajax_page_div'); $data=$tz->limit($page->firstRow,$page->listRows)->select(); $pagestr=$page->show(); $this->assign('list',$data); $this->assign('show',$pagestr); if(IS_AJAX){ exit($this->fetch('list')); } $this->display('list'); }
静态页面:
<scripttype="text/javascript"src="/Public/shouye/js/jquery-1.7.1.min.js"></script> <divid="ajax_div"> <table> <tr> <td>性别</td><td>年龄</td><td>单位</td> </tr> <?PHPforeach($listas$v){?> <tr> <td><?PHPecho$v['total_money'];?></td> <td><?PHPecho$v['time'];?></td> <td><?PHPecho$v['ip'];?></td> </tr> <?PHP}?> </table> <div><divid="ajax_page_div">{$show}</div></div> </div> <script> $("body").delegate("#ajax_page_diva","click",function(){ $.get(this.href,function(html){ $('#ajax_div').html(html); }); returnfalse; }); }); </script>原文链接:https://www.f2er.com/ajax/164311.html