bool_xie
  • 3
  • 新人请关照

手机页面如何从服务端拉取分页数据?

有这样一个场景,手机页面从 A 表中拉取15条数据,需要加载更多,就需要进行分页拉取,但是此时A表中新增了一条数据,应该如何拉取,不重复数据?可以不拉去 新增的数据,A表排序不是根据ID排序,因此id大小存在不连续,数据库为Mysql

应该怎样写sql语句才能拉取呢?

阅读 280
评论 3月26日提问
    2 个回答

    调取分页接口时可以通过传入时间来控制数据重复的问题。
    第一次(即第一页)调用接口,获取当前时间作为时间标志,并传入接口中,分页数据的创建时间应符合小于时间标志。
    (这时有新数据插入)
    第二页,依然传入时间标志,分页数据应符合小于时间标志,新插入的数据自然被排除在外。

    下拉刷新,第一次调用,重新获取时间标志……

    评论 赞赏 3月26日
      漫跑者
      • 5
      • 新人请关照

      思路一:在前端数据展示时,对比之前的id 进行去重.(不是通过sql语句)
      思路一会有一个问题,可能第二次刷新出来的数据不足15条

      思路二:把已经查询出来的数据id回传回去,下一次查询时先去重,在分页展示.

      思路三:
      另外常用的数据库不做特殊处理时sql插入数据的话一般情况是id增加插入的,不会出现 在已经有的id中间插入的.

      发出分页请求时,记录第一次的数据最大的id,下一次分页查询时代上最大的id,分页时where id<=最大id

      评论 赞赏 3月26日
        撰写回答

        登录后参与交流、获取后续更新提醒