前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >yii2实现分页功能

yii2实现分页功能

作者头像
贵哥的编程之路
发布2021-12-23 15:13:42
4400
发布2021-12-23 15:13:42
举报

sql:

代码语言:javascript
复制
CREATE TABLE `country` (
  `code` CHAR(2) NOT NULL PRIMARY KEY,
  `name` CHAR(52) NOT NULL,
  `population` INT(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `country` VALUES ('AU','Australia',18886000);
INSERT INTO `country` VALUES ('BR','Brazil',170115000);
INSERT INTO `country` VALUES ('CA','Canada',1147000);
INSERT INTO `country` VALUES ('CN','China',1277558000);
INSERT INTO `country` VALUES ('DE','Germany',82164700);
INSERT INTO `country` VALUES ('FR','France',59225700);
INSERT INTO `country` VALUES ('GB','United Kingdom',59623400);
INSERT INTO `country` VALUES ('IN','India',1013662000);
INSERT INTO `country` VALUES ('RU','Russia',146934000);
INSERT INTO `country` VALUES ('US','United States',278357000);

控制器:

在这里插入图片描述
在这里插入图片描述

第一:一页5个。 总数:$query->count();

代码语言:javascript
复制
<?php
namespace frontend\controllers;
use Yii;
use common\models\Country;
use yii\data\Pagination;
use yii\web\Controller;
class CygController extends Controller
{
	 public function actionIndex()
    {
          $query=Country::find();
          $pagination=new Pagination([
            'defaultPageSize'=>5,
            'totalCount'=>$query->count(),
            ]);
          $countries=$query->orderBy('name')->offset($pagination->offset)->limit([$pagination->limit])->all();
           return $this->render('index', [
            'countries' => $countries,
            'pagination' => $pagination,
        ]);
    } 
    
}

model:

代码语言:javascript
复制
<?php

namespace common\models;

use yii\db\ActiveRecord;

class Country extends ActiveRecord
{
	
}

视图:

代码语言:javascript
复制
<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<h1>Countries</h1>
<ul>
<?php foreach ($countries as $country): ?>
    <li>
        <?= Html::encode("{$country->name} ({$country->code})") ?>:
        <?= $country->population ?>
    </li>
<?php endforeach; ?>
</ul>

<?= LinkPager::widget(['pagination' => $pagination]) ?>

效果:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 效果:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档