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

发表评论