yii2中的分页
利用yii做分页,其中有分装好的分页,按照我的步骤来,利用它的封装做分页非常简单;
话不多说,看步骤:
1 在框架中配置好你的数据库、用户名、密码
在common/config/main-local.php 中
<?php return [ "components" => [ "db" => [ "class" => "yiidbConnection", "dsn" => "mysql:host=localhost;dbname=ten",//数据库mysql 服务器地址:lovalhost 数据库名ten "username" => "",//用户名 "password" => "",//密码 "charset" => "utf8", ], "mailer" => [ "class" => "yiiswiftmailerMailer", "viewPath" => "@common/mail", // send all mails to a file by default. You have to set // "useFileTransport" to false and configure a transport // for the mailer to send real emails. "useFileTransport" => true, ], ], ];2 创建控制器文件
两种方式,一种直接用gii生成控制器文件,简单快捷,当然需要注意控制器的名称,控制器的命名空间,然后直接生成就可以了;
第二种,就是自己创建控制器,当然也可以这样做,但我不建议这样,首先既然用yii框架了,就尝试一下用里面的东西,第二比较费时间;
创建一个控制器,写好命名空间,然后在视图层文件夹中创建与控制器相同的文件夹,用来存放视图层文件
即:
<?php namespace frontendcontrollers;//命名空间 use Yii; use frontendmodelshoukao2;//加载model层 use yiidataPagination; //加载分页类 class Zhoukao2Controller extends yiiwebController { public function actionIndex() { } }
3 创建模型层文件(即你的表)
也是两种方式,一种直接用gii生成控制器文件,简单快捷,需要注意model的名称,控制器的命名空间,然后直接生成就可以了;
第二种,就是自己创建model文件。
<?php namespace frontendmodels;//命名空间 use Yii; /** * This is the model class for table "zhoukao2". * * @property integer $id * @property string $username * @property string $sex * @property string $hobby * @property string $content */ class Zhoukao2 extends yiidbActiveRecord { /** * @inheritdoc */ public static function tableName()//必须创建这个方法 用来返回表 { return "zhoukao2"; } }
4 使用yii分页
不说了,看代码
<?php namespace frontendcontrollers;//命名空间 use Yii; use frontendmodelshoukao2;//加载model层 use yiidataPagination; //加载分页类 class Zhoukao2Controller extends yiiwebController { //展示留言添加页面 public function actionIndex() { $query = Zhoukao2::find(); $countQuery = clone $query; $pages = new Pagination(["totalCount" => $countQuery->count(),"pageSize"=>2]); $models = $query->offset($pages->offset) ->limit($pages->limit) ->all(); return $this->render("index", [ "model" => $models, "pages" => $pages, ]); } }
5 视图层文件 index.php
<?php use yiiwidgetsLinkPager;//加载分页类 ?> <h2>留言类表</h2> <?php foreach ($model as $v) { echo "<table border=1 style="margin-top:20px">"; echo "<tr>"; echo "<td>姓名:".$v["username"]."</td>"; echo "<td>性别:".$v["sex"]."</td>"; echo "<td>爱好:".$v["hobby"]."</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan="3">内容:".$v["content"]."</td>"; echo "</tr>"; echo "</table>"; } ?> <?php // 显示分页 echo LinkPager::widget([ "pagination" => $pages, "class"=>"CLinkPager", "firstPageLabel"=>"首页", "lastPageLabel"=>"末页", "nextPageLabel"=>"下一页", "prevPageLabel"=>"上一页", ]); ?>
效果图:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: thinkphp模板页面多条件if判断的写法
- 下一篇: mysql查询大量数据,php内存占用溢…