業務場景:javascript
點擊查看更多進行數據拼接顯示 php
實現思路:java
咱們先在公共方法裏邊聲明倆個屬性,一個是頁數page,一個是每次查詢條數。數據庫
頁數默認的是第一頁,咱們在小程序的data裏邊設置一個page變量,默認也是1json
當發起請求的時候獲取page,進行減1就能夠獲取到上一次查詢最後的條數network_num就是這個值小程序
點擊更多的時候將page+1,查詢使用limit,第一個參數是從多少條開始,第二個參數是查詢多少條api
最後一步就是點擊更多進行數據的拼接,當咱們初始化進入頁面時,是從0開始的,會從數據庫拿取第一批數據,當點擊更多的時候,使用concat這個方法,將點擊更多數據和原始數據進行拼接便可ide
注意:這裏設置的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; } }
使用你要查詢的類繼承commonthis
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 }) }); }, })