小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Yii實(shí)現(xiàn)分頁(yè)的兩種方法

 哇嘿嘿 2014-09-25

Yii實(shí)現(xiàn)分頁(yè)的兩種方法,一種是用DAO實(shí)現(xiàn),另外一種是在widget實(shí)現(xiàn).


各有優(yōu)點(diǎn)吧,第一種效率會(huì)高一點(diǎn), 第二種可以使用自帶的表格,方便一些.

一. DAO實(shí)現(xiàn)分頁(yè).

[Controller層]

復(fù)制代碼
1 public function actionReport()
2 {
3 $sql = "select remitdate, sum(rate) sumrate from td_delivery 
4 group by remitdate 
5 order by remitdate desc";
6 $criteria=new CDbCriteria();
7 $result = Yii::app()->db->createCommand($sql)->query();
8 $pages=new CPagination($result->rowCount);
9 $pages->pageSize=2; 
10 $pages->applyLimit($criteria); 
11 $result=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit"); 
12 $result->bindValue(':offset', $pages->currentPage*$pages->pageSize); 
13 $result->bindValue(':limit', $pages->pageSize); 
14 $posts=$result->query();
15 $this->render('report',array( 
16 'posts'=>$posts, 
17 'pages'=>$pages, 
18 ));
19 }
復(fù)制代碼

[View層]

復(fù)制代碼
1 <?php foreach($posts as $row):?> 
2  <?php echo CHtml::link($row["remitdate"],array('delivery/view','remitdate'=>$row["sumrate"]));?> 
3  <?php echo $row["sumrate"]."<br />" ?>
4  <?php endforeach;?>
5  <?php 
6  //分頁(yè)widget代碼: 
7  $this->widget('CLinkPager',array('pages'=>$pages));
8  ?>
復(fù)制代碼

優(yōu)點(diǎn): DAO效率高; 缺點(diǎn): view層需要自己寫一些樣式,稍顯麻煩一點(diǎn)

二. widget實(shí)現(xiàn)分頁(yè)

[model層]

復(fù)制代碼
1 /**
2 * @var string attribute : 日運(yùn)費(fèi) (統(tǒng)計(jì)用)
3 * 需要對(duì)新增加的字段做個(gè)聲明
4 */
5 public $dayrate;


8 /*
9 * 統(tǒng)計(jì)功能: 統(tǒng)計(jì)每日的運(yùn)費(fèi)
10 */
11 public function statistics()
12 {
13 $criteria = new CDbCriteria;
14 $criteria->select = 'remitdate, sum(rate) AS dayrate';
15 $criteria->group = 'remitdate';
16 
17 return new CActiveDataProvider(get_class($this), array(
18 'criteria'=>$criteria,
19 'sort'=>array(
20 // 表頭設(shè)置點(diǎn)擊排序的字段
21 'attributes'=>array(
22 'remitdate',
23 'dayrate'=>array(
24 'asc'=>'dayrate',
25 'desc'=>'dayrate DESC',
26 )
27 ),
28 'defaultOrder'=>'remitdate desc',
29 ),
30 )); 
31 }
復(fù)制代碼

[Controller層]

復(fù)制代碼
1 /**
2 * 運(yùn)單統(tǒng)計(jì)功能:
3 * 按日期統(tǒng)計(jì)
4 */
5 public function actionReport()
6 {
7 $model=new Delivery('statistics');
8 $model->unsetAttributes(); // clear any default values
9   
10 $this->render('report',array(
11 'model'=>$model,
12 ));
13 }
復(fù)制代碼

[View層]

復(fù)制代碼
1 <?php $this->widget('zii.widgets.grid.CGridView', array(
2 'id'=>'delivery-grid',
3 'dataProvider'=>$model->statistics(),
4 'filter'=>$model,
5 'columns'=>array(
6 'remitdate',
7 'dayrate',
8 array(
9 'class'=>'CButtonColumn',
10 ),
11 ),
12 )); ?>
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多