19. Yii 2.0 数据分页

本文以Yii 2.0基础版为例,详细介绍了如何进行数据分页。通过创建User.php实体文件查询分页数据,利用Pagination类进行分页设置,再在PageController.php控制器中处理并展示数据,最后在视图层使用LinkPager显示分页导航。通过访问指定URL可以查看实际分页效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里以 Yii 2.0 基础版为例,来介绍数据分页。

操作分页的类文件为 /basic/vendor/yiisoft/yii2/data/Pagination.php

首先,在 /basic/entity 目录中新建一个 User.php 文件,用于查询分页数据,代码如下:
db;
            // 1. 获取符合条件的记录总数
            $count = $db->createCommand('SELECT COUNT(*) AS count from {{%user}}')
                        ->queryOne();
            if ($count) {
                // 2. 根据记录总数,实例化pagination对象
                $pages = new Pagination(['totalCount'=>$count['count'], 'defaultPageSize'=>10]);
                // 3. 根据pagination对象的offset和limit属性,查询记录列表
                $list = $db->createCommand('SELECT * FROM {{%user}} LIMIT '.$pages->offset.','.$pages->limit)
                           ->queryAll();
                $ret = ['success'=>true, 'pages'=>$pages, 'list'=>$list];
            } else {
                throw new \Exception('查询失败!');
            }
        } catch (\Exception $e) {
            $ret = ['success'=>false, 'msg'=>$e->getMessage()];
        }
        return $ret;
    }
}
其次,在控制器层新建一个控制器文件 PageController.php,用于测试分页,代码如下:
renderPartial('test', ['list'=>$res['list'], 'pages'=>$res['pages']]);
        }

    }
}
然后,在视图层 /basic/views 目录下新建一个文件夹 page,再在 /basic/views/page 目录中新建一个视图文件 test.php,代码如下:
';

// 6. 显示分页导航
echo \yii\widgets\LinkPager::widget(['pagination'=>$pages]);
最后,在浏览器中访问 http://basic.com/page/test,查看分页的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值