码迷,mamicode.com
首页 > 其他好文 > 详细

查询后经过后台处理的数据的分页显示

时间:2018-08-27 18:40:08      阅读:649      评论:0      收藏:0      [点我收藏+]

标签:com   数据库   image   开始   查询   显示   处理   遇到   页面   

  项目中遇到一个需求,要对一个查询到的数据结果进行分页显示,一开始以为只是简单的进行分页,后来一看代码,发现在数据查出来以后会经过后台处理,并不是查询出多少条数据就会显示多少条数据,这样分页就不是根据查出的记录进行分页。
  所以我就看了下分页的依据,然后根据这个分页的依据,写语句时通过这个依据查出这个依据的前多少条记录,然后与原本的查询结果进行左外连接,连接条件是这些分页的依据,从而一次性的查询出了结果,这些结果在后台经过处理后,因为这些结果都是通过某一页的分页依据查出来的,所以展示后正好会是那一页的数据。
  下面附上代码

技术分享图片

技术分享图片

  然后到前台页面就会发现展示的结果数并不是查出的记录数,这时,我发现前台的展示的记录数实际是下面的内容控制的。

技术分享图片

  一个Set,可能有两种情况,下面要怎么处理呢,在sql中用distinct,后面跟APPLIER_DEPT_CODE,CONS_DEPT_CODE,SPECAIL_CONS_ITEM_CODE或者APPLIER_DEPT_CODE,CONS_DEPT_CODE,然后查询条件和与原先的查询条件相同,这样就查出了前台页面所有展示的记录数,再对distinct的结果进行分页,就得出了每一页要展示的记录,与原先的查询做左外连接,条件就是APPLIER_DEPT_CODE,CONS_DEPT_CODE或者APPLIER_DEPT_CODE,CONS_DEPT_CODE,SPECAIL_CONS_ITEM_CODE,这样就查出了每一页的数据,修改后的代码如下

技术分享图片

技术分享图片

总结一下,这种情况应该很常见,就是从数据库查出一些记录,需要分页展示,但是这些记录并不是直接一条条展示在页面上,而是要经过一系列处理,展示的数据并不是查出的数据,这时我们可以观察一下展示每一条数据的依据,然后用原来的查询条件对这些依据进行分页,将原来的查询结果与依据的分页结果进行左外连接,条件就是这些分页依据,这样查出的结果就是那一页要用到的结果,再对这些结果进行处理,到前台后正好是要展示的那一页。

查询后经过后台处理的数据的分页显示

标签:com   数据库   image   开始   查询   显示   处理   遇到   页面   

原文地址:https://www.cnblogs.com/liunianfeiyu/p/9542780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!