如何存储搜索条件或搜索结果?

时间:2010-01-07 11:00:32

标签: php sql mysql html search

我有一个php分类网站(大部分),我目前正在使用MYSQL作为数据库。 稍后我将使用SOLR或Sphinx作为“搜索引擎”。

我希望用户能够查看之前搜索过的“结果”,但我不知道从哪里开始......

这是怎么做到的?

目前我有一个填写的表单,在提交时,php只会再次检查一个mysql表,看看是否有任何匹配。

我应该存储“搜索条件”并在用户每次点击之前的搜索时进行新搜索,还是应该存储结果?我宁愿进行新搜索,因为自上次搜索以来可能已插入新项目了!

如果您需要更多输入,请告诉我,我会更新此问号。

由于

4 个答案:

答案 0 :(得分:2)

嗯......如果你基本上是在谈论“保存的搜索”,我现在正在做类似的事情,以便我只有一个单独的表格....

saved_search_id(主要)| user_id(外国)| search_name | criteria1 | criteria2 | criteria3 ... etc

所以基本上我现在可以向用户显示他们创建的已保存搜索列表,并且该表存储了该搜索的一部分标准。然后,我可以使用这些保存的条件随时运行已保存的搜索。

这有帮助吗?

答案 1 :(得分:1)

使用查询字符串参数($_GET)作为搜索表单。然后用户可以为搜索添加书签。如果需要,可以在应用程序中创建书签功能,但确实没有必要。

如果您担心性能问题,请确保正确调整数据库的缓存设置,并且不要经常写入表。 MySql将在缓存方面做得很好。

答案 2 :(得分:0)

您已经说过:如果用户应该看到旧查询的新结果,您将不得不以某种方式存储搜索参数,并在用户请求时重新进行搜索。

答案 3 :(得分:0)

存储搜索条件。这是非常明显的,好像数据更改用户将获得旧结果。并考虑一段时间后结果可能需要的空间:)

我还会考虑存储搜索条件而不是实际查询。如果您更改数据库,存储的搜索仍然可以,因为您还需要更新查询生成引擎,但您很可能忘记更新每个存储的查询。