TP6+小程序分页加载数据

本文介绍了一个基于PHP的服务端分页实现方法,通过使用数据库查询来获取特定类型的数据,并按ID降序排列。同时,详细展示了如何在小程序端进行数据加载及上拉加载更多的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务端

tp的分页设计很优秀

//php:
 public function getdata(Request $request)
    {
        $key = $request->param('key'); 
        $data = Db::table('datatab')->where('type', $key)->order('id' ,'desc')->paginate(20); //每页20
        return json($data);
    }

小程序端

 data: {
    current_page: 1, //默认第一页
    last_page: 0, //存储总页数
    data: [] //存放数据
  },

  onLoad: function (options) {
    wx.showLoading() 
    let self = this
    wx.request({
      url: 'https://xxxx',
      data:{key:'searchkey'}
      success: res => {       
        /*返回的数据格式如下
        current_page: 1
        data: (10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
        last_page: 331
        per_page: 10
        total: 3303
        */
        self.setData({ data: res.data.data,last_page:res.data.last_page })
        wx.hideLoading()
      } 
    })      
  },
  //页面上拉到底,加载更多
  onReachBottom: function () {
    console.log('到底了')
    let self = this
    let { current_page, last_page } = this.data
    if (current_page < last_page) {
      current_page++
      wx.showLoading()
      wx.request({
        url: 'https://xxxx',
        data: { page: current_page,key:'searchkey' },
        method: 'GET',
        success: res => { 
          self.setData({ data:self.data.data.concat(res.data.data), current_page })
          wx.hideLoading()
        } 
      })
    }
  } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值