ThinkPHP5之Ajax分页

基于thinkphp5,一个页面多个分页,无刷新使用ajax进行分页处理 一个页面多个分页和ajax进行无刷新分页,相信很多大神已经炉火纯青了,但是小白我查了n多文档和帖子才写出来的。太高兴了。 我这个是一个页面写了4个分页,并且无刷新进行分页处理,下面做个记录,就写两个给需要的胖友做个参考。 首先,我查到了以下修改TP5分页文件的步骤,请参考,里面有几步是tp5不能用的 ,下面我会说怎么改 我是TP5.1,所以第三步如果直接复制以上代码会报错,所以这个需要手动修改,很简单,我复制我改的做个例子: public function dpaginate($listRows = nu 阅读详情

Ajax分页在项目开发中是一项必备的技能。当我们的数据库数据量比较大的时候使用Ajax分页可以很好的缓解数据库的查询压力。那么Ajax分页如何实现呢?原生SQL分页我们知道需要有偏移量,每页显示的数据条数就可以简单实现。其实Ajax分页原理也一样,当我们在前台点击页码时传递页码在后台,后台进行数据处理即可。本例tp3.2与tp5都适用,话不多说,直接贴代码

前端Ajax:

<div class="dataTables_paginate paging_bootstrap pagination">
   <!-- 输出分页 -->
    {volist name="paging" id="value"}
     <li>
          <a href="javascript:void(0)" onclick="page({$value})">
           {if condition="$value eq '0'"}首页
               {else/}{$value}
            {/if}
             </a>
          </li>
     {/volist}
</div>

Ajax部分

<script>
//分页的Ajax
function page(page){
  $.get("{:url('Role/index')}",{page:page},function(data){
      $("#uid").html(data);
  });
}
</script>

后台进行Ajax的数据分页

public function index()
    {
        $count = Db::query("select count(id) as count from tb_role where is_delete =0");
        $tot = $count[0]['count']; //统计数据总条数
        // dump($tot);exit;
        $limit = 5; //每页显示多少条 
        $total = intval(ceil($tot/$limit)); //进一取整 计算多少页
        $paging = array();
        for ($i=0; $i <=$total; $i++) { 
            $paging[$i] = $i;
        }                              //页码
        $page = isset($_GET['page'])?$_GET['page']:"";
        if(empty($page)){
            $page = 1;
        } //前台传递过来的页码 
        $offset = ($page-1)*$limit; //偏移量
        $res = Db::query("select id,name,descr,status,is_delete from  tb_role limit $offset,$limit"); //SQL
        // dump($res);exit;
        if(request()->isAjax()){  //如果是AJAX请求的分页

            $this->assign('res',$res);
            $this->assign('title','权限管理');
            return $this->fetch('Role/indexAjax');
            exit;
        }
        //非Ajax请求
        $this->assign('paging',$paging);
        $this->assign('res',$res);
        $this->assign('title','权限管理');
        return view();
    }

当然这里我们看到如果是Ajax分页的话后台渲染的模板不一样,其实这里是做的一个判断。当然,大神写的应该比我好。这种方式比较复杂,为了让大家看的明白我将indexAjax.html也贴出来。

<div id="uid">
<table class="table table-striped table-hover table-bordered dataTable" id="editable-sample" aria-describedby="editable-sample_info">
  <thead>
    <tr role="row">
      <th class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" aria-label="First Name" style="width: 90px;">编号</th>
      <th class="sorting" role="columnheader" tabindex="0" aria-controls="editable-sample" rowspan="1" colspan="1" aria-label="Last Name: activate to sort column ascending" style="width: 186px;">类别</th>
      <th class="sorting" role="columnheader" tabindex="0" aria-controls="editable-sample" rowspan="1" colspan="1" aria-label="Points: activate to sort column ascending" style="width: 119px;">描述</th>
      <th class="sorting" role="columnheader" tabindex="0" aria-controls="editable-sample" rowspan="1" colspan="1" aria-label="Edit: activate to sort column ascending" style="width: 84px;">级别</th>
      <th class="sorting" role="columnheader" tabindex="0" aria-controls="editable-sample" rowspan="1" colspan="1" aria-label="Delete: activate to sort column ascending" style="width: 124px;text-align:center;">操作</th></tr>
  </thead>
  <tbody role="alert" aria-live="polite" aria-relevant="all">
   {foreach name="res" item="res"}
    <tr class="odd">
      <td class=" ">{$res['id']}</td>
      <td class=" ">{$res['name']}</td>
      <td class=" ">{$res['descr']}</td>
      <td class="center ">
        {if condition="$res.status eq 4"}超级管理员
            {else /} 管理员
        {/if}
      </td>
      <td class=" ">
        {if condition="$res.status eq 4"}ROOT
            {else/} <a href="{:url('Role/edit',['id'=>$res['id']])}" class="btn btn-info btn-xs" {if condition="$res.is_delete eq '1'"/}disabled{/if}>修改</a>
        {/if}
        {if condition="$res.status eq 4"}ROOT
          {else/}<input type="button" onclick="del({$res.id})" class="btn btn-danger btn-xs" id="delete" {if condition="$res.is_delete eq '1'"/}disabled{/if} value="停用">|
        {/if}
        <a href="{:url('Role/nodelist',['id'=>$res['id']])}" class="btn btn-success btn-xs">分配节点</a>
        </td>
    </tr>
    {/foreach}
    </tbody>
</table>
</div>
这里呢,其实就是将index.html中的数据分配部分复制了一份。为什么要这样做呢,因为每次Ajax请求一次,后端返回给我们前端的页码都不一样,对应的数据也就不一样。所以做了这样一步操作。当然,如果是首次访问没有Ajax请求,默认显示的还是index.html。



Ajax + Layui + thinkphp5 前台分页的实现 效果图: 一、首先先引用Layui的相关文件 JS CS等等 我就不多说了-。- 二、后台查询方法 public function disscussionListPage(){ $subject_chapter_no = $this->request->post('subject_chapter_no'); $start = $this... 阅读详情

相关推荐

ThinkPHP5.1+Ajax无刷新分页

无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。 需要在后台展示自定义属性列表(lst.html),其中的列表部分摘出来,放到(paginate1.html)中: &lt;div class="row"&gt; &lt;div class="col-sm-12"&gt; &lt;div class="ibox fl...

pan_yuyuan的博客 2854

Thinkphp5之ajax分页实现_paginate()参数详细

Thinkphp5 做数据搜索需要带关键词分页,如何将查询条件带入到分页中,本文详细介绍Thinkphp5 分页带参数 一、基本使用方法: $list = Db::name('user')->where('status',1)->paginate(10); 二、查看thinkphp5 paginate()函数 paginate()函数可以带三个参数: $listRow

houzhyan-博客 3万+

ThinkPHP5.0.20+PHP+AJAX分类分页加载功能.

这个月公司下发的一个项目,需要做个信息交流网站,其中手机端加载使用的是瀑布流 第一时间想到的是插件,但是还是想自己动手写一下,不太想依赖插件。 需求是这样的:需要按照不同的标签使用瀑布流加载出不同的内容。用户点击某一个标签的时候,显示的内容也只能是跟这个标签相关的。如图:   如果没有数据,那么底部就提示没有数据了。   先说下思路,如果是ajax分页加载,没有分类的话,那么我们只...

爱打echo的猴子 714

thinkphp5 ajax分页

最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法 首先看一下tp5的分页功能介绍 参数 描述 list_rows 每页数量 page 当前页 path url路径 query url额外参数 fragment url锚点 var_page 分页变量 t

myarche的博客 3133

ThinkPHP5.1+Ajax实现的无刷新分页功能示例

主要介绍了ThinkPHP5.1+Ajax实现的无刷新分页功能,结合实例形式详细分析了ThinkPHP5.1+Ajax无刷新分页具体原理、前台数据发送与后台处理相关操作技巧,需要的朋友可以参考下

TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结

本文实例讲述了TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法。分享给大家供大家参考,具体如下: 方法一: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法 前端代码 <!DOCTYPE html> <html> <head> <meta charset=UTF-8> <title>ajax交互</title> [removed][removed] [removed] $('.but').click(f

tp5的ajax搜索后分页,修改TP5的分页类使之Ajax分页有效

Thinkphp 5.1采用Ajax分页后,首页自然不是问题,但是后续的页面链接仍然指向原地址;虽然可以取回数据,但是没有样式的渲染——因为此时的页面只有“一部分”本身就没有CSS样式!解决的办法有很多,比如重新创建分页类,或者通过Composer下载一个;但这无疑会增加系统的复杂程度,最后利用Thinkphp自带的分页类直接修改,毕竟只需要修改一下部分。具体修改如下图所示01.png 原始文件位...

weixin_30320771的博客 373

[Ethernet in CANoe]2--如何在CANoe中去仿真CP版本的SOME/IP通信

上篇文章()介绍了SOME/IP的两种类型的数据格式,根据作者目前的项目经验,目前在CANoe V18之前的版本,CP版本的arxml是最方便实现SOME/IP以太网仿真的。作者目前只有CANoe V17的license,所以本片文章是在CANoe 17上基于CP版本的arxml去做仿真模拟。

汽车ECU自动化测试 1764

【ThinkPHP5】【tp5】通过Ajax实现分页的局部刷新

效果 核心代码 服务端,Index控制器中: public function showflower(/*Request $request*/) { /* * 参考文档中的“链式操作” */ $flowers = Db::table('flower') ->order(['S.........

passerbyYSQ 4575

5G NR LDPC码(2)—— 从基图到速率匹配:解码5G高速数据信道的标准化设计

本文深入解析了5G NR LDPC码的标准化设计流程。从作为核心骨架的基图(BG1/BG2)出发,详细阐述了其如何通过扩展因子Z灵活生成实际校验矩阵,并协同传输块大小计算与分段策略。文章重点剖析了基于循环缓存和冗余版本的速率匹配机制,以及其如何高效支撑增量冗余混合自动重传请求,从而确保5G高速数据信道在复杂环境下的可靠与高效传输。

weixin_29206669的博客 272

《FPGA DDR3权威实战:从基础到高速故障录波系统》专栏导览:从不知所措到心中有数

本文是一份DDR3实战指南,作者从自身学习经历出发,分享了一套循序渐进的DDR3应用路线图。专栏包含12篇文章,从基础配置(MIG IP核、AXI总线)、仿真测试到实际项目应用(功能测试、性能测试),最后深入原生MIG接口实战,通过一个高速故障录播系统案例完整展示DDR3开发流程。文章特别强调实践性,旨在帮助读者系统掌握DDR3开发技能,避免作者当年踩过的坑。每篇都配有优快云链接,适合FPGA开发者按顺序学习参考。

FPGA_小田老师的博客 331

bootstrap下拉框分页_ajax怎样实现bootstrap模态框分页查询功能

这次给大家带来ajax怎样实现bootstrap模态框分页查询功能,ajax实现bootstrap模态框分页查询功能的注意事项有哪些,下面就是实战案例,一起来看一下。一 、效果图二、JSfunction getManagerList(dealerId,page2){macAddress = document.getElementById("activeXDemo").getMac();$.get(...

weixin_39791446的博客 448

11、CUDA 内存优化:平铺矩阵乘法技术解析

本文深入解析了CUDA中的平铺矩阵乘法技术,重点介绍了如何利用共享内存和线程协作减少全局内存访问,提升计算效率。通过矩阵乘法实例,详细阐述了平铺算法的执行流程、内核代码实现及性能优化策略,包括平铺大小选择、线程同步机制和代码优化建议。文章还分析了该技术在深度学习、图像处理和科学计算等领域的应用价值,为CUDA程序的内存优化提供了系统性指导。

peace的博客 70

thinkphp5 ajax无刷新分页

$support = db("student")-&gt;where(["check"=&gt;"1","zizhu_check"=&gt;"1","u_id"=&gt;["&lt;&gt;","0"]])-&gt;paginate(1,false,['path'=&gt;'javas

qq_37995146的博客 2810

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

12、认知地图的建模与学习

本博客系统介绍了认知地图的定义、背景及其在机器智能领域的应用,重点探讨了模糊认知地图(FCMs)的建模方法与优势。文章还对比分析了几种主流的认知地图模型(如Axelrod模型、Kosko模型等),并讨论了模型的稳定性条件及实际应用前景。通过智能制造和医疗诊断的具体案例,展示了认知地图在复杂因果推理中的强大能力,并提出了模型优化方向与未来研究展望。

plant的博客 210

think php ajax分页,thinkPHP5框架实现基于ajax的分页功能示例

本文实例讲述了thinkPHP5框架实现基于ajax的分页功能。分享给大家供大家参考,具体如下:最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法首先看一下tp5的分页功能介绍参数 描述list_rows 每页数量page 当前页path url路径query url额外参数fragment url锚点v...

weixin_39520210的博客 370

踩过20+工控视觉项目的坑后,我用C# + 海康相机 + YOLOv11实现了零依赖产线缺陷检测

触发式检测:只有光电传感器检测到零件到位,才触发相机拍照和算法检测,不是持续推理,减少工控机性能占用;全链路本地运行:从图像采集、算法推理到不良品剔除,所有逻辑全在本地工控机运行,不需要外网、不需要云端服务,哪怕产线断网也能正常运行;异常降级机制:算法推理异常时,系统自动触发产线缓停,同时声光告警,不会让不良品流到下工序,满足汽车行业IATF16949质量要求;模块化解耦:算法核心层和业务逻辑层完全分离,后续更换YOLO模型、新增缺陷类型,只需要替换模型文件,不需要修改业务逻辑;全链路可追溯。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 152

php5 ajax实例,thinkPHP5框架实现基于ajax的分页功能示例

本文实例讲述了thinkPHP5框架实现基于ajax的分页功能。分享给大家供大家参考,具体如下:最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法首先看一下tp5的分页功能介绍参数描述list_rows每页数量page当前页pathurl路径queryurl额外参数fragmenturl锚点var_page分页变量type分页类名$caseDetails = Ca...

weixin_28991715的博客 248

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南

OpenClaw已经开源3个月有余,作为深耕AI Agent领域的博主,我亲身探索了各种基于OpenClaw的赚钱方法,也踩过坑、付出了时间与精力。现在,我将这些真金白银砸出来的实战经验,毫无保留地总结成这个专栏,分享给不想从零开始摸索的你。博主在优快云已有7万+粉丝和1100万+阅读量,但这却是我的第一个付费专栏。正因如此,我比任何人都更珍惜这个“第一次”。我会像一个手艺人打磨作品一样,死磕每一篇文章的质量,并持续根据订阅者的反馈优化内容。也许你的疑问就是当篇文章的优化点。

冯·诺依曼 2442

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ThinkPHP5分页paginate之ajax异步请求

aaa.html视图 &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;{$name}&lt;/title&gt; &lt;link href="__STATIC__/css/bootstrap.min.css" r

qq_31065757的博客 1492

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

thinkphp5.0 ajax分页

放到 ***thinkphp\library\think\paginator\driver\Ajaxbootstrap.php 分页的type参数为ajaxbootstrap <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO...

weixin_30832143的博客 201

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ajax 搜索 分页,thinkphp5 Ajax搜索分页

function sousuo($page){var URL=‘‘;if($page){URL=‘__URL__/index/usercenter/selectorder?page=‘+$page;}else {URL=‘__URL__/index/usercenter/selectorder‘;}var ktime=$("#some_class_1").val();var eyime=$("#s...

weixin_32498321的博客 247

thinkphp5 ajax翻页,thinkphp5 Ajax搜索分页(示例代码)

function sousuo($page){var URL=\'\';if($page){URL=\'__URL__/index/usercenter/selectorder?page=\'+$page;}else {URL=\'__URL__/index/usercenter/selectorder\';}var ktime=$("#some_class_1").val();var eyime...

weixin_35886636的博客 377
上一篇: Ajax实现图片上传并预览
下一篇: Ajax实现页面无操作自动退出操作
code301
博客等级 码龄9年 87粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值