首页 > 编程 > PHP > 正文

关于yii分页组件的用法

2020-03-22 16:50:13
字体:
来源:转载
供稿:网友
这篇文章主要介绍了yii分页组件用法,结合实例形式较为详细的分析了yii分页组件的调用及具体的分页显示实现技巧,需要的朋友可以参考下

本文实例讲述了yii分页组件用法。分享给大家供大家参考,具体如下:

该案例使用时,分页类在yii框架中以组件的形式存在于components中。

action代码如下:

html' target='_blank'>public function actionIndex(){ $user=User::model(); //分页的使用 $count=$user- count(); //获取总页数 $pagesize=3; //每一页显示的记录条数 $page=new Page($count,$pagesize); $sql= select * from {{user}} $page- limit  $info=$user- findAllBySql($sql); $show_page=$page- fpage(); $this- renderPartial( index ,array( info = $info, show_page = $show_page));}

在view页面,遍历info即可获取信息,输出show_page即可显示分页列表等信息。

现附上page.php代码如下:

 ?php * 分页类,以组件形式存在于componnets文件中class Page { private $total; //数据表中总记录数 private $listRows; //每页显示行数 private $limit; private $uri; private $pageNum; //页数 private $config=array( header = 个记录 , prev = 上一页 , next = 下一页 , first = 首 页 , last = 尾 页  private $listNum=8; * $total * $listRows public function __construct($total, $listRows=10, $pa= ){ $this- total=$total; $this- listRows=$listRows; $this- uri=$this- getUri($pa); $this- page=!empty($_GET[ page ]) ? $_GET[ page ] : 1; $this- pageNum=ceil($this- total/$this- listRows); $this- limit=$this- setLimit(); private function setLimit(){ return Limit .($this- page-1)*$this- listRows. , {$this- listRows}  private function getUri($pa){ $url=$_SERVER[ REQUEST_URI ].(strpos($_SERVER[ REQUEST_URI ], ? )? : ? ).$pa; $parse=parse_url($url); if(isset($parse[ query ])){ parse_str($parse[ query ],$params); unset($params[ page ]); $url=$parse[ path ]. ? .http_build_query($params); return $url; function __get($args){ if($args== limit ) return $this- limit; else return null; private function start(){ if($this- total==0) return 0; else return ($this- page-1)*$this- listRows+1; private function end(){ return min($this- page*$this- listRows,$this- total); private function first(){ $html=  if($this- page==1) $html.=  else $html.= a href= {$this- uri} page=1 {$this- config[ first ]} /a  return $html; private function prev(){ $html=  if($this- page==1) $html.=  else $html.= a href= {$this- uri} page= .($this- page-1). {$this- config[ prev ]} /a  return $html; private function pageList(){ $linkPage=  $inum=floor($this- listNum/2); for($i=$inum; $i $i--){ $page=$this- page-$i; if($page 1) continue; $linkPage.= a href= {$this- uri} page={$page} {$page} /a  $linkPage.= {$this- page}  for($i=1; $i =$inum; $i++){ $page=$this- page+$i; if($page =$this- pageNum) $linkPage.= a href= {$this- uri} page={$page} {$page} /a  else break; return $linkPage; private function next(){ $html=  if($this- page==$this- pageNum) $html.=  else $html.= a href= {$this- uri} page= .($this- page+1). {$this- config[ next ]} /a  return $html; private function last(){ $html=  if($this- page==$this- pageNum) $html.=  else $html.= a href= {$this- uri} page= .($this- pageNum). {$this- config[ last ]} /a  return $html; private function goPage(){ return input type= text quot;javascript:if(event.keyCode==13){var page=(this.value .$this- pageNum. )? .$this- pageNum. :this.value;location=/ .$this- uri. page=/ +page+/ / } value= .$this- page. >

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

关于yii使用bootstrap的分页样式

如何实现Yii框架在页面输出执行sql语句并进行调试

如何使用Yii框架移除组件所绑定的行为

以上就是关于yii分页组件的用法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表