要想使用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. Codeforces Round #294 (Div. 2)

    水 A. A and B and Chess /* 水题 */ #include <cstdio> #include <algorithm> #include <iost ...

  2. 模拟 ZOJ 3878 Convert QWERTY to Dvorak

    题目传送门 /* 模拟:手敲map一一映射,累! 除了忘记读入字符串不能用gets用getline外还是很顺利的AC了:) */ #include <cstdio> #include &l ...

  3. 在Windows8 Winrt中 高性能处理多个条件语句 用于实现自定义手势

    http://blog.csdn.net/wangrenzhu2011/article/details/8578806 (转) 在winrt中 多点触控 控件的应用越来越多,例如 各种手势与 控件之间 ...

  4. object-c 协议和委托

    协议相当于接口 委托相当于帮助实现其它类的功能 object-c提供的协议机制,一个类可以实现多个协议,从而感觉上像多继承一样

  5. Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)

    1.设置对话框 工具 -> 选项 -> 键盘和鼠标 -> 将选定的文本自动复制到剪贴板 2.贴图如下 2.1.打开设置对话框 2.2.设置键盘鼠标,左键复制 2.3.右键粘贴 作者: ...

  6. @JSON(serialize=false),过滤不需要的变量

    @JSON(serialize=false),过滤不需要的变量   在用struts2返回json类型的数据时,json会自动转换需要转换成json形式的变量,如果哪个变量不需要的话,则可以在该变量的 ...

  7. 【C语言】08-数组

    为了让大家更好地学习和理解数组,我们先来认识一下内存中的"地址". 地址 1.计算机中的内存是以字节为单位的存储空间.内存的每一个字节都有一个唯一的编号,这个编号就称为地址.凡存放 ...

  8. Spark RDD Operations(1)

    以上是对应的RDD的各中操作,相对于MaoReduce只有map.reduce两种操作,Spark针对RDD的操作则比较多 ************************************** ...

  9. [转载]CString类常用方法----Left(),Mid(),Right()……

    CStringLeft(intnCount)const; //从左边1开始获取前 nCount个字符 CStringMid(intnFirst)const; //从左边第 nCount+1个字符开始, ...

  10. DotNetBar RibbonControl 控件动态添加项

    想做个插件式开发,界面用Dotnetbar的RibbonControl,需要通过代码动态的向RibbonControl控件添加项 示例代码如下: RibbonTabItem rti = new Rib ...