要想使用Yii分页类

第一步:在控制器层加载分页类

use yii\data\Pagination;

第二步: 使用model层查询数据,并用分分页,限制每页的显示条数

$data = Zhao::find();  //zhao为model层,在控制器刚开始use了field这个model,这儿可以直接写Field,开头大小写都可以,为了规范,我写的是大写

$pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '3']);    //实例化分页类,带上参数(总条数,每页显示条数)

$model=$data->offset($pages->offset)->limit($pages->limit)

->all();

第三步:向视图层传送数据

return $this->render('show',[

'pages' => $pages,

]);

传送数据的时候,用render函数,否则过去视图层没有样式

第四步:

在视图层顶层写上

<?php

use yii\helpers\Html;

use yii\widgets\ActiveForm;

use yii\widgets\LinkPager;

use yii\helpers\Url;

?>

在显示数据底部

<?=

LinkPager::widget([

'pagination' => $pages,

]);

?>

效果:

Yii框架里面的ajax分页,其实很简单,

只需在

<?=

LinkPager::widget([

'pagination' => $pages,

]);

?>

后面加上下面这段代码:

<?php $this->beginBlock('abc'); ?>

$(document).on('click','.pagination a',function(e){

e.preventDefault();

var url=$(this).attr('href');

$.get(url,function(msg){

//alert(msg);

$('#lists').html(msg);

});

});

<?php $this->endBlock();  $this->registerJs($this->blocks['abc'], View::POS_END); ?>

另外在视图层顶部加上这一句话

use yii\web\View;

在控制器层做一下判断,改变样式:

if(Yii::$app->request->isAjax)
       {
             return $this->renderPartial('list',[
                'model' => $model,
                'pages' => $pages,
                'arr'=>$arr,

]);
       }
       else
       {
            return $this->render('list',[
                'model' => $model,
                'pages' => $pages,
                'arr'=>$arr,

]);
       }

最后的效果和上面的效果是一样的!

php--yii框架中的ajax分页与yii框架自带的分页的更多相关文章

  1. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  2. tp5框架中jquery+ajax分页

    jaxa分页,点击按钮直接替换数据, //php代码$page=Request::instance()->param("page"); $page = empty($page ...

  3. 在laravel框架中使用ajax请求报错419

    laravel框架中报419 419 unknown status 这个时候你需要将这个接口放到api路由上,这样可以跳过CSRF的检查

  4. ssh框架中spring整合hibernate的配置文件模板(带详细注释)

    applicationContext.xml的配置文件模板 <?xml version="1.0" encoding="UTF-8"?> <b ...

  5. Scrapy爬虫框架中的两个流程

    下面对比了Scrapy爬虫框架中的两个流程—— ① Scrapy框架的基本运作流程:② Spider或其子类的几个方法的执行流程. 这两个流程是互相联系的,可对比学习. 1 ● Scrapy框架的基本 ...

  6. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  7. Yii 框架中安装 memcache 及配置和测试

    安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...

  8. Yii框架中集成phprpc、hprose

    在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据 ...

  9. 使用Yii框架中遇到的三个问题

    以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应 ...

随机推荐

  1. 10分钟API Hook MessageBox

    10分钟API Hook MessageBox 分类: C++2012-04-12 22:52 877人阅读 评论(4) 收藏 举报 hookwinapidllthreadpython编程 转载注明出 ...

  2. 简单几何(圆与多边形公共面积) UVALive 7072 Signal Interference (14广州D)

    题目传送门 题意:一个多边形,A点和B点,满足PB <= k * PA的P的范围与多边形的公共面积. 分析:这是个阿波罗尼斯圆.既然是圆,那么设圆的一般方程:(x + D/2) ^ 2 + (y ...

  3. LianLianKan[HDU4272]

    LianLianKan Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. BZOJ1766 : [Ceoi2009]photo

    如果两个矩形相交且不是包含关系,那么完全可以让它们不相交. 将坐标离散化后,设$f[i][j][k]$表示区间$[i,j]$纵坐标不小于$k$的部分的最优解. 对于$f[i][j][k]$,要么枚举分 ...

  5. jQuery Select操作大集合

    jQuery获取Select选择的Text和Value: 语法解释:  $("#select_id").change(function(){//code...});    //为S ...

  6. 用iftop监控流量

    1.下载iftop http://pan.baidu.com/share/link?shareid=387372457&uk=1829018343 或 wget http://www.ex-p ...

  7. 【Linux】linux常用基本命令(转)

    (转自:http://blog.csdn.net/xiaoguaihai/article/details/8705992) Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用 ...

  8. MyEclipse10整合Axis2插件

    1.下载axis2的eclipse插件 2.把下载好的两个插件包解压后放置myeclipse10安装目录下的dropins文件夹中 3.重启MyEclipse10后 File->New-> ...

  9. [Bug FIX]安装 account_check_writing模块后采购收据打印报错的问题

    大写金额没填报错 修改:report_check.xml文件,把<span t-esc="fill_stars(o.amount_in_word)"/>一行替换为 &l ...

  10. 5. Configure the Image Service

    Controller Node: 1. sudo apt-get install glance python-glanceclient   2. sudo vi /etc/glance/glance- ...