thinkPHP5框架实现基于ajax的分页功能示例
本文实例讲述了thinkPHP5框架实现基于ajax的分页功能。分享给大家供大家参考,具体如下:
最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法
首先看一下tp5的分页功能介绍
参数
描述
list_rows
每页数量
page
当前页
path
url路径
query
url额外参数
fragment
url锚点
var_page
分页变量
type
分页类名
$caseDetails=CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']);
所以我们分页查询写成上面代码所示。
这样页面显示每个分页上面变成了AjaxPage('当前分页数,自动变化')
然后我们就可以在页面中写一个对应的函数AjaxPage(page),来完成对应的ajax请求查询,在返回到指定的视图中
ajax请求控制器方法如下
publicfunctionall() { $caseDetails=CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']); returnview('getall',['res'=>$caseDetails]); }
如果选项卡带ID再次查询对应当前分类,可以使用如下
publicfunctiongetAjax($id,$page=1) { $res=CaseDetails::where(['category'=>$id])->paginate(9,false,['page'=>$page,'path'=>"javascript:AjaxDetailsPage({$id},[PAGE]);"]); returnview('',['res'=>$res]); }
js代码如下:
functionAjaxPage(page){ $.get('/index/successcase/getAll',{page:page},function(data){ $('.little-content').html(data); }) } $('.on').hover(function(){ $.get('/index/successcase/all',function(data){ $('.little-content').html(data); }) }); $('.title-id').hover(function(){ varid=$(this).attr('title'); $.get('/index/successcase/getajax',{'id':id},function(data){ $('.little-content').html(data); }); }); functionAjaxDetailsPage(id,page){ $.get('/index/successcase/getAjax',{id:id,page:page},function(data){ $('.little-content').html(data); }) }
ajax作用范围视图
{volistname="res"id="casedetails"}{$casedetails.name}
{$casedetails.caseCategory.name} VIEWMORE
{$res->render()}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。