业务场景:

小程序点击更多怎么进行数据拼接_数据

      点击查看更多进行数据拼接显示 

 

 

实现思路:

     我们先在公共方法里边声明俩个属性,一个是页数page,一个是每次查询条数。

     页数默认的是第一页,我们在小程序的data里边设置一个page变量,默认也是1

     当发起请求的时候获取page,进行减1就可以获取到上一次查询最后的条数network_num就是这个值

 

    点击更多的时候将page+1,查询使用limit,第一个参数是从多少条开始,第二个参数是查询多少条

    最后一步就是点击更多进行数据的拼接,当我们初始化进入页面时,是从0开始的,会从数据库拿取第一批数据,当点击更多的时候,使用concat这个方法,将点击更多数据和原始数据进行拼接即可

 

注意:这里设置的network这个值必须跟你查询时的数量一样

 

 

PHP代码

class Common extends Controller {
protected $page = 1; //默认第一页
protected $network_num = 10;
protected $network_bg = 0;
protected function _initialize() {
$this->network_num = empty($network_num) ? 10 : $network_num;
$this->network_bg = ($this->page - 1) * $this->network_num;
}
}

 

使用你要查询的类继承common

class  Allinfo extends  Common{
public function getInfo(){
$where['examine'] = 2;
// $where['vip_time'] = ['>',time()];
$product = Db::table('wxb_move_user')->where($where)->order('is_vip desc,creat_time desc')->limit($this->network_bg,10)->select();
if(!$product){
$send = ['code'=>400,'msg'=>'暂无数据'];
return json($send);
}
$this->result($product, 200, '获取信息成功', 'json');
}
}

小程序代码:

/*
author:咔咔
address:陕西西安
wechat:fangkangfk
*/

Page({

/**
* 页面的初始数据
*/
data: {
companyList:[],
page:1,
length:''
},

/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getCompanyInfo();
},

// 获取公司信息
getCompanyInfo:function(){
wx.showLoading({
title: '加载中',
})
var that = this;
var page = this.data.page;
wxb.Post('/api/automatic.Allinfo/getInfo',{
page: page
},function(data){
wx.hideLoading();
console.log(data.length)
that.setData({
companyList: data,
length:data.length
})
});
},

more:function(){
var that = this;
var companyList = this.data.companyList;
var page = this.data.page;
wxb.Post('/api/automatic.Allinfo/getInfo', {
page: page+1
}, function (data) {
wx.hideLoading();
console.log(data.length)
that.setData({
companyList: companyList.concat(data),
length: data.length,
page: page + 1
})
});
},
})