YII学习之数据分页

DATE: 2015-09-08 / VIEWS: 1040

控制器

<?php
namespace app\controllers;

use Yii;
use yii\web\controller;
use app\models\Member;

class IndexController extends controller
{

    public function actionMember($name='')
    {
        //$this->layout = false;
        $member = Member::find();
        
        $page = new \yii\data\Pagination([
            'totalCount' => $member->count(),
            'defaultPageSize'=>3 
        ]);

        //如果要带有默认参数就使用下面的方法
        $page->params[$page->pageParam] = Yii::$app->request->get($page->pageParam,0);
        $page->params['name'] = 'hello';

        $list = $member->offset($page->offset)->limit($page->limit)->asArray()->all();

        return $this->render('member',['page'=>$page,'list'=>$list]);

    }

}

视图

<?php

echo '<table>';
foreach ($list as $v) {
    echo '<tr><td>'.$v['username']."</td><td>".$v['email']."</td><td>".$v['old']."</td></tr>";
}
echo '</table>';

echo \yii\widgets\LinkPager::widget([
    'firstPageLabel' => '首页',
    'lastPageLabel' => '最后一页',
    'prevPageLabel' => '上一页',
    'nextPageLabel' => '下一页',
    'pagination' => $page,
    'maxButtonCount'=>3
]);

这就是最简单的利用YII内置的分页类制作的一个小例子!