我需要一些帮助来搜索属性搜索
我不知道的是,我将如何将查询发送到下一页?例如我的查询就像这样
$query = select * from xyz where city='a' and location='b' and price between 'c' and 'd' and area between 'e' and 'f' and bedrooms='g' and addedwithin 'h';
在上述网站的形式基础上考虑此查询,搜索房产列表的方案应该是什么。
当我使用此页面的分页时,我应该如何再次获得此查询。应该是这样吗
<a href="<?php echo $_SERVER['PHP_SELF'] . '?q=' . $query; ?>" > nextpage </a>
还是有其他更简单的解决方案吗?
由于
答案 0 :(得分:2)
你可以做一些事情。一种解决方案是将查询字符串中所需的所有参数与页码一起传递,然后执行paging in your SQL。对于较小的东西,这可能没什么问题,但是如果在搜索后将某些内容插入到您的表中,则可能会出现问题,因此搜索结果可能会增加/减少,对用户来说似乎很奇怪。如果蜘蛛通过增加页面参数开始抓取您的网站也会出现问题 - 这会使您的数据库过载变得非常容易。
另一个我最喜欢的解决方案是使用一些唯一ID作为密钥,将初始搜索的所有结果保存到cache solution。然后您的分页可以传递缓存项目和页码的ID,您可以从结果数组中读取您想要的页面。
答案 1 :(得分:0)
您可以存储用户搜索短语,例如在会话cookie中或保留表单参数(例如隐藏类型)。然后使用新的偏移
再次执行db-request