Yii2分页

Yii中的分页功能主要由yii\web: Linkable接口、yii\widgets: LinkPager类和yii\data: Pagination类三个组成

  yii\data: Pagination 主要功能是对分页中的参数进行设置,如当前页、每页大小、总页数,总记录数等

  yii\widgets: LinkPager 主要是根据yii\data: Pagination类所提供的参数生成前台页面的分页html代码

先在action里面生成分页对象,然后在前台的LinkPager中使用

controller中

public function actionIndex()
    { 

        $data = Custom::find();
        $data=$data->andFilterWhere([‘like‘,‘tel‘,$tel]);
        $pages = new Pagination([‘totalCount‘ =>$data->count(), ‘pageSize‘ => ‘10‘]);
        $model=$data->offset($pages->offset)->orderBy(‘id desc‘)->limit($pages->limit)->all();
        return $this->render(‘index‘,[‘model‘ => $model, ‘pages‘ => $pages]);
    }

view中

foreach ($models as $model) {
        // display $model here
}

// display pagination
<?= LinkPager::widget([‘pagination‘ => $pages]); ?>
时间: 2024-10-17 21:48:24

Yii2分页的相关文章

Yii2 分页类的扩展和listview引用

Yii2 本身提供了不错分页选项供用户设置,但是实际项目中我们往往需要复杂一些的分页样式,例如下图所示的效果,上下翻页可用和不可用均用图标来替换. 步骤如下: 1 , 查看项目分页组件,一般位于项目\vendor\yiisoft\yii2\widgets\LinkPager.php位置, 2,在\vendor\yiisoft\yii2\widgets\目录下新建组件tLinkPager.php,继承LinkPager.php,代码和注释如下: 主要是重写了renderPageButtons()方

yii2分页的使用及其扩展

先说明下我们本篇文章都要讲哪些内容 分页的使用,一步一步的教你怎么做 分页类LinkPager和Pagination都可以自定义哪些属性 分页类LinkPager如何扩展成我们所需要的 第一步,我们来看看yii2自带的分页类该如何去使用? 1.controller action use yii\data\Pagination; $query = Article::find()->where(['status' => 1]); $countQuery = clone $query; $pages

yii2分页跳转到指定页

先上图看效果,样式虽然有点丑,这都不重要,我相信拿到代码的你们更注重的是这功能怎么实现的! 从上图中不难看出,我们制定跳转到某页的功能是基于linkpager之上的扩展,这根我们之前实现的分页扩展明显不同,之前的明显就是重写了!当然,这都不重要,我们看看GoLinkPager的具体实现!名字起的有点lower,不重要! 1.在frontend\components目录新建GoLinkPager类文件 2.该类继承yii\widgets\LinkPager;,如下: namespace front

yii2分页扩展之实现跳转到具体某页

先上图看效果,样式虽然有点丑,这都不重要,我相信拿到代码的你们更注重的是这功能怎么实现的! 从上图中不难看出,我们制定跳转到某页的功能是基于linkpager之上的扩展,这根我们之前实现的分页扩展明显不同,之前的明显就是重写了!当然,这都不重要,我们看看GoLinkPager的具体实现!名字起的有点lower,不重要! 1.在frontend\components目录新建GoLinkPager类文件 2.该类继承yii\widgets\LinkPager;,如下: namespace front

Yii2 分页

public function actionList($class_id = '') { $data = Article::find(); if ($class_id) { $data->andWhere([ 'class_id' => $class_id ]); } $pages = new Pagination([ 'totalCount' => $data->count(), 'pageSize' => 30 ]); $model = $data->offset(

利用yii2分页插件,成对取出数组数据

数组太大不好处理,切割出来处理 $ids = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $count = count($ids);$size = 2; $pages = new Pagination(['totalCount' => $count, 'defaultPageSize' => $size]); for ($i = 1; $i <= $pages->pageCount; $i++) { $idArr = array_slice($ids, ($i - 1

Yii2 数据查询

数据查询 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据: User::find()->where(['name' => '小伙儿'])->all(); 此方法返回 ['name' => '小

Yii2.0实用功能技巧解密之——分页功能

Yii中的分页功能主要由yii\web: Linkable接口.yii\widgets: LinkPager类和yii\data: Pagination类三个组成. yii\data: Pagination 主要功能是对分页中的参数进行设置,如当前页.每页大小.总页数,总记录数等. yii\widgets: LinkPager 主要是根据yii\data: Pagination类所提供的参数生成前台页面的分页html代码. 使用:先在action里面生成分页对象,然后在前台的LinkPager中

yii2做输入跳转到分页

首先使用引用分页类 1. 1 use yii\data\Pagination; 2.控制器 1 //分页跳转 2 public function actionPagego(){ 3 $model = Knowledge::find(); 4 //原生sql语句使用分页 5 $sql = "SELECT k.id,k.title,k.copyfrom,k.username,k.updatetime FROM bl_knowledge k LEFT JOIN bl_kr kr ON k.id=kr.