首页 > 其他分享 >分页

分页

时间:2024-03-30 14:57:02浏览次数:15  
标签:分页 class page link query dataProvider pages

分页

使用ActiveDataProvider 和 GridView

controller

public function actionIndex(){
        $dataProvider = new ActiveDataProvider([
            'query' => ArticleClass::find(),
            'pagination' => [
                'pagesize' => '2',
             ]
        ]);
        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
}

view

<?php
use yii\grid\GridView;
?>


<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'layout' => "{summary}{items}{pager}",
    'summary' => "第{begin}-{end}条,共{totalCount}条数据",
    'tableOptions' => [
        'class' => 'table table-hover',
    ],
    'pager' => [
        'firstPageLabel' => "首页",
        'prevPageLabel' => '上一页',
        'nextPageLabel' => '下一页',
        'lastPageLabel' => '尾页',
        'linkContainerOptions' => ['class' => 'page-item'],
        'linkOptions' => ['class' => 'page-link'],
        'disabledListItemSubTagOptions' => [
            'tag' => 'a',
            'href' => 'javascript:;',
            'tabindex' => '-1',
            'class' => 'page-link'
        ],
    ],
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'id',
        'drive',
        'base_url',
        'path'
    ]
]); ?>

控制器中引入分页类,并在views中引入分页渲染

控制器

    public function actionIndex()
    {
        $query = Attachment::find();
        $countQuery = clone $query;
        $pageSize = 2;
        $pages = new Pagination(['totalCount' => $countQuery->count(),'pageSize' => $pageSize]);
        $models = $query->offset($pages->offset)
            ->limit($pages->limit)
            ->all();
        return $this->render('index', [
            'models' => $models,
            'pages' => $pages,
        ]);

    }

视图

<?php
use yii\widgets\LinkPager;
?>

<?php
//循环展示数据
foreach ($models as $model) {
    echo "<li>".$model['id'].' | ' .$model['drive']. ' | ' .$model['base_url']."</li>";
}
?>

<?= LinkPager::widget([
    'pagination' => $pages,
    'nextPageLabel' => '下一页',
    'prevPageLabel' => '上一页',
    'firstPageLabel' => '首页',
    'lastPageLabel' => '尾页',
    'linkContainerOptions' => ['class' => 'page-item'],
    'linkOptions' => ['class' => 'page-link'],
    'disabledListItemSubTagOptions' => [
        'tag' => 'a',
        'href' => 'javascript:;',
        'tabindex' => '-1',
        'class' => 'page-link'
    ],
]);?>

标签:分页,class,page,link,query,dataProvider,pages
From: https://www.cnblogs.com/hu308830232/p/18105476

相关文章

  • yii2-分页
    yii2-分页使用ActiveDataProvider和GridViewcontrollerpublicfunctionactionIndex(){$dataProvider=newActiveDataProvider(['query'=>ArticleClass::find(),'pagination'=>['......
  • 在使用PageHelper插件进行分页查询时,为什么在Postman进行后端测试时返回的data中对应
    注意:在使用PageHelper插件进行分页查询,由Postman进行后端测试时,需要根据返回的total(查询的总记录数)和测试设置的pageSize(每页记录条数)来设置page(查询页码)的值,否则后端测试返回的data中对应的rows可能为空。理由如下:假设此时是这样一个查询情景:通过动态SQL进行条件查询,......
  • Mybatis是如何进行分页的?分页插件的原理是什么?
    Mybatis使用RowBounds对象进行分页,它是针对ResultSet结果集执行的内存分页,而非物理分页,可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。分页插件的基本原理是使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执......
  • MybatisPlus多参数分页查询,黑马程序员SpringBoot3+Vue3教程第22集使用MP代替pagehelpe
    前言:视频来源1:黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关视频来源2:黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架创作理由:网上MP实现分页查询功能的帖子易读性太差,具体实现看下面。根据视频完成......
  • 分页器
    分页器1.分页器1.1分页推导首先我们需要明确的时候get请求也是可以携带参数的所以我们在朝后端发送查看数据的同时可以携带一个参数告诉后端我们想看第几页的数据其次我们还需要知道一个点queryset对象是支持索引取值和切片操作的但是不支持负数索引情况defget......
  • Oracle 分页查询,排序分页
    效率最高内查询小于等于外查询大于select*from(selectt.*,rownumasnfromSTUDENTtwhererownum<=4)twheret.n>2orderbyt.iddesc;查看执行计划explainplanforselect*from(selectrownumasn,d.*fromdeptdwhererownum<=4)twheret.n>......
  • MySQL超大分页处理,以及优化思路说明。
    MySQL超大分页处理:MySQL中分页处理的方式:在MySQL中进行分页查询通常会使用LIMIT和OFFSET关键字来实现,下面是一种常见的方法:sqlCopyCodeSELECT*FROMyour_tableLIMIToffset,limit;offset表示起始行数,从0开始计数,即第一行为0。limit表示每页返回的行数。......
  • mybatis plus 添加分页插件
    一、后端配置支持分页控件1、在pom.xml添加上依赖<!--Mybatis-Plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2......
  • Django 分页器代码
    分页器代码:在使用到非Django内置的第三方功能或者组件代码的时候,一般情况下会创建你一个名为utils文件夹,在该文件夹对模块进行功能性划分。utils可以创建在每个应用下。classPagination(object):def__init__(self,current_page,all_count,per_page_num=2,pager_coun......
  • drf : 过滤 排序 分页
    过滤和排序并不是所有的接口都需要写,查询所有才需要过滤(根据条件过滤),排序(按某个规则排序,也可倒序)。导入模块:"""OrderingFilter:排序SearchFilter:过滤"""fromrest_framework.filtersimportOrderingFilter,SearchFilter过滤,内置的过滤,必须继承GenericAPIView,才......