thinkphp点击加载更多
文章描述:
在文章列表想查看更多文章,点击加载更多加载第二页文章,那么thinkphp如何点击加载更多呢?
thinkphp点击加载更多实现分为四个步骤:
第一步:配置数据库信息,然后新建一个控制器里面查询一张数据表里面数据,从零开始查询五条数据,代码如下:
namespace Home\Controller;
use Think\Controller;
class ArticleController extends Controller{
public function index(){
$model = M('goods');
$list = $model->order('id desc')->limit('0,5')->select();
$this->assign('list', $list);
$this->display();
}
}
把查询到的数据分配到一个变量里面,然后指定模板的位置。
第二步:新建一个模板,循环分配过来的变量数据
<div>
<ul id="list">
<notempty name="list">
<volist name="list" id="vo">
<li>
<a>{$vo.title}</a>
</li>
</volist>
<else/>
<div>站长未添加任何内容</div>
</notempty>
</ul>
</div>
<a id="mores">加载更多</a>
第三步:点击加载更多使用jquery ajax请求数据返回循环到文章列表里面
var page = 0;
$("#mores").on('click',function(){
page += 5;
$.ajax({
type:'post',
url:"__ROOT__/index.php?m=home&c=article&a=index",
data:{p:page},
dataType:"json",
success:function(data){
var html = '';
for(var i in data){
html +='<li><a>'+data[i].title+'</a></li>';
}
$("#list").append(html);
}
});
});
第四步:在控制器里面判断是否POST请求,如果是查询数据返回json格式
if(!empty($_POST['p'])){
$p = $_POST['p'];
$b = 5;
$list = $model->order('id desc')->limit($p,$b)->select();
$this->ajaxReturn($list,'JSON');
}
发布时间:2021/08/06
发表评论