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

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

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

阅读 2.8k
2 个回答

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

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

新手上路,请多包涵

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题