欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-03 23:10:16
本文实例讲述了thinkphp5框架实现基于ajax的分页功能。分享给大家供大家参考,具体如下: 最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的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程序设计有所帮助。