您好,欢迎访问一九零五行业门户网

yii分页组件用法实例分析

本文实例讲述了yii分页组件用法。分享给大家供大家参考,具体如下:
该案例使用时,分页类在yii框架中以组件的形式存在于components中。
action代码如下:
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代码如下:
上一页, 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.= uri%7d&page=1>{$this->config[first]} ; return $html; } private function prev(){ $html=''; if($this->page==1) $html.=''; else $html.= uri%7d&page=%22.(%24this->page-1).%22>{$this->config[prev]} ; return $html; } private function pagelist(){ $linkpage=; $inum=floor($this->listnum/2); for($i=$inum; $i>=1; $i--){ $page=$this->page-$i; if($pageuri}&page={$page}'>{$page} ; } $linkpage.= {$this->page} ; for($i=1; $ipage+$i; if($pagepagenum) $linkpage.= uri%7d&page=%7b%24page%7d>{$page} ; else break; } return $linkpage; } private function next(){ $html=''; if($this->page==$this->pagenum) $html.=''; else $html.= uri%7d&page=%22.(%24this->page+1).%22>{$this->config[next]} ; return $html; } private function last(){ $html=''; if($this->page==$this->pagenum) $html.=''; else $html.= uri%7d&page=%22.(%24this->pagenum).%22>{$this->config[last]} ; return $html; } private function gopage(){ return ' page.'>{$this->total}{$this->config[header]} ; $html[1]= 每页显示.($this->end()-$this->start()+1).条,本页{$this->start()}-{$this->end()}条 ; $html[2]= {$this->page}/{$this->pagenum}页 ; $html[3]=$this->first(); $html[4]=$this->prev(); $html[5]=$this->pagelist(); $html[6]=$this->next(); $html[7]=$this->last(); $html[8]=$this->gopage(); $fpage=''; foreach($display as $index){ $fpage.=$html[$index]; } return $fpage; }}
希望本文所述对大家基于yii框架的php程序设计有所帮助。
以上就介绍了yii分页组件用法实例分析,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息