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

2018-09-07 15:04

阅读:249

  本文实例讲述了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请求控制器方法如下

   public function all() { $caseDetails = CaseDetails::where([status=>1])->paginate(9,false,[path=>javascript:AjaxPage([PAGE]);]); return view(getall,[res=>$caseDetails]); }

  如果选项卡带ID再次查询对应当前分类,可以使用如下

   public function getAjax($id,$page=1) { $res = CaseDetails::where([category=>$id])->paginate(9,false,[page=>$page,path=>javascript:AjaxDetailsPage({$id},[PAGE]);]); return view(,[res=>$res]); }

  js代码如下:

   function AjaxPage(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(){ var id = $(this).attr(title); $.get(/index/successcase/getajax,{ id:id },function(data){ $(.little-content).html(data); }); }); function AjaxDetailsPage(id,page){ $.get(/index/successcase/getAjax,{ id:id,page:page },function (data) { $(.little-content).html(data); }) }

  ajax作用范围视图

  更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

  希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。


评论


亲,登录后才可以留言!