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请求控制器方法如下

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作用范围视图

{volist name=\"res\" id=\"casedetails\"}
<li class=\"little-block\">
  <img src=\"{$casedetails.pic}\"/>
  <div class=\"mb-text\">
    <div class=\"text\">
      <h1>{$casedetails.name}</h1>
      <p class=\"p3\">{$casedetails.caseCategory.name}</p>
      <a href=\"#\" rel=\"external nofollow\" >VIEW MORE</a>
    </div>
  </div>
</li>
{/volist}
<br>
{$res->render()}

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

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容