根据时间分组查询数据并分页

很多新手会有这种思想,就是想在sql上一步到位。其实这是不正确的逻辑,sql主要是给你想要的数据,如果你让程序猿去去做销售,那肯定不行。所以不要逼着sql做它不想做的事情,就算你强加给sql做了,只会得到sql查询慢的报复。所以整理数据结构的问题,要么交给后台逻辑处理,要么返回前端进行逻辑处理。

展示如图所示的数据结构

1、这里主要是在前端做处理,后端正常做分页查询提现记录的数据就不贴代码了。
2、如图用到了Vue VantUI中的List插件,进行滑动异步请求分页
3、这里只是给你提供一个解决思路,代码不完整

HTML代码

<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" :immediate-check="false">
<div v-for="(item,index) in showList" :key="index">
<!--这里判断是关键 如果该条数据tag为1 在这条数据前面加上时间的样式>
<h2 class="lh40 pl15 f13 cola6" v-if="item.tag===1">{{item.start_time | formatDate('YYYY-MM-DD')}}</h2>
....
</div>

</van-list>
</van-pull-refresh>

JS代码

//先定义临时存储时间的字段lastinfo_start_time
let lastinfo_start_time = ''
res.rows.forEach((item, index) => {
   
   //循环数据与这个临时字段对比,如果不相等,就把现有的这个时间赋值给临时存储的字段,并设置一个属性tag为1  否则为0
   if (common.formateDate(item.start_time, 'YYYY-MM-DD') !== common.formateDate(this.lastinfo_start_time, 'YYYY-MM-DD')) {
   this.lastinfo_start_time = item.start_time
   item.tag = 1
 } else {
   item.tag = 0
 }
   this.showList.push(item)
})
KK资源网分享最优质的的资源,涵盖网站建设、IT技术、主题源码
KK资源吧 » 根据时间分组查询数据并分页

发表评论