引入
use yii\data\Pagination;
从配置文件中获取分页大小:
配置文件./config/params.php
Yii::$app->params['pageSize']['manage'];
配置文件图
在控制器
$model = Admin::find(); //实例化模型
$count = $model->count(); //获取数据总数
//获取params.php配置文件中的 分页大小配置
$pageSize = Yii::$app->params['pageSize']['manage'];
//分页
$pager = new Pagination(['totalCount' => $count, 'pageSize' => $pageSize]);
$managers = $model->offset($pager->offset)->limit($pager->limit)->all();
return $this->render("managers", ['managers' => $managers, 'pager' => $pager]);
模板分页
<?php foreach($managers as $manager): ?>
<tr>
<td> <?php echo $manager->adminid; ?> </td>
<td><?php echo $manager->adminuser; ?></td>
<td><?php echo $manager->adminemail; ?></td>
<td> <?php echo date('Y-m-d H:i:s', $manager->logintime); ?></td>
<td><?php echo long2ip($manager->loginip); ?></td>
<td><?php echo date("Y-m-d H:i:s", $manager->createtime); ?></td>
<td class="align-right">
<?php if ($manager->adminid != 1): ?>
<a href="<?php echo yii\helpers\Url::to(['manage/del', 'adminid' => $manager->adminid]) ?>">删除</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
<div class="pagination pull-right">
<?php echo yii\widgets\LinkPager::widget(['pagination' => $pager, 'prevPageLabel' => '‹', 'nextPageLabel' => '›']); ?>
</div>
展示效果
可以改分页样式:
<?= LinkPager::widget([
'pagination' => $pages,
'nextPageLabel' => '下一页', // 修改上下页按钮
'prevPageLabel' => '上一页',
//'nextPageLabel' => false, // 不显示上下页按钮
//'prevPageLabel' => false,
'firstPageLabel' => '首页', // 设置首页尾页按钮
'lastPageLabel' => '尾页',
'hideOnSinglePage' => false, // 当你数据不足2页时,分页默认不显示,但你可以让他显示出来
'maxButtonCount' => 5, // 分页 页码默认显示10页,不过你可以自由设置,比如显示5页
'options' => ['class' => 'm-pagination'], // 可以给分页添加class 然你你想换个颜色,居个中啊
]); ?>