免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2005 | 回复: 4
打印 上一主题 下一主题

复杂查询结果分页链接问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-12 00:55 |只看该作者 |倒序浏览
对于一个复杂条件的查询结果,如从form请求过来,如何做分页的链接?

简单查询的参数可以通过参数形式如www.xxx.com/query.php?q1=abc&q2=bcd
但查询条件复杂后,这种方式不合适了。

考虑将查询条件存入tmp后,再分页请求时,从tmp将条件搞出来。

不知道大家有啥好做法不?

论坛徽章:
0
2 [报告]
发表于 2006-10-12 01:24 |只看该作者
那就隐藏一个form,然后js来调用,呵呵

论坛徽章:
0
3 [报告]
发表于 2006-10-12 04:58 |只看该作者
原帖由 geel 于 2006-10-12 01:24 发表
那就隐藏一个form,然后js来调用,呵呵


晕,那大概要用到 javascript 吧

论坛徽章:
0
4 [报告]
发表于 2006-10-12 05:18 |只看该作者
把所有条件加起来,然后 hash,然后把找到的结果存到数据库中对应 hash 的记录或者对应 hash 的文件,分页链接变成类似:

search.php?hash=ASDJH1K23KJSDASD&page=2

也避免了多次查询。虽然结果不会是完全的实时,但是对付论坛、blog 一类的一般使用却也够了。result hash table 必须还有一个列保存这个 hash 的创造时间,如果时间间隔太长,则重新生成条件 hash 和对应的结果。

论坛徽章:
0
5 [报告]
发表于 2006-10-12 08:55 |只看该作者
原帖由 dz902 于 2006-10-12 05:18 发表
把所有条件加起来,然后 hash,然后把找到的结果存到数据库中对应 hash 的记录或者对应 hash 的文件,分页链接变成类似:

search.php?hash=ASDJH1K23KJSDASD&page=2

也避免了多次查询。虽然结果不会是完 ...



把找到的结果存到数据库中数据量可能太大了,而且复杂的查询页也不是单独一个查询搞定,页面要显示几个查询的结果。

还是考虑将当时的POST信息全搞到tmp里算了。

BTW:在mysql里使用聚合函数(SUM,COUNT,AVG)等的情况下,LIMIT不起作用。那如何达到分段聚合呢?不知道mysql里有没有类似ROWNUM之类的变量。

初步考虑用临时变量算了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP