显示MySQL的最新搜索结果

时间:2011-05-04 16:19:06

标签: php mysql

不幸的是,Google似乎没有我想要的答案。我目前拥有一个使用PHP GET的特定内容的小型搜索引擎网站。

我想添加一个最新的搜索页面,意思是让每个搜索都被记录,保存,然后显示在另一个页面上,顶部是“搜索次数最多”,甚至是顶部的“最新搜索”。 / p>

简而言之:将我的最新搜索存储在MySQL数据库(或任何可行的)中,然后在页面上显示它们。

我猜这最好用MySQL完成,然后我想把它输出到PHP。

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:1)

最近的搜索可能很容易被滥用。我所要做的就是进入你的网站并搜索“你的网站糟透了”或者更糟糕的是他们基本上污损了你的网站。我真的想考虑添加这个功能。

在构建最流行的搜索和扩展它方面,我建议:

  • 在某处记录查询。可能是一个MySQL数据库表,但日志文件会更合理,因为它是一个日志。
  • 定期运行脚本/作业以从日志中提取/分组数据
  • 让定期脚本作业填充一些包含最热门搜索的表格

我喜欢这种方法,因为:

  • 后端脚本完成所有艰苦工作 - 用户请求没有制作GROUP BY等
  • 您可以向后端脚本引入过滤或任何其他逻辑,但不会影响用户请求
  • 您不需要将大量数据放入数据库

答案 1 :(得分:0)

使用字段latest_searchesquerysearched_count创建表格(类似results_count的内容)。
然后在每次搜索之后(如果results_count> 0),检查该表中是否存在此搜索查询。并在表格中更新或插入新行 在某些页面上,您可以使用此表中的数据。

这很简单。

答案 2 :(得分:0)

您只需在MySQL中存储链接和搜索的名称,然后添加时间戳记录sb搜索它们的时间。然后将它们从时间戳排序的DB中拉出来,并用PHP显示在网站上。

  1. 创建一个包含三行的表:搜索链接时间戳。
  2. 然后编写一个PHP脚本以在需要时插入行(这在用户实际搜索时完成)
  3. 您希望显示内容的主页只是将数据退回并将它们放入链接容器$ nameOfWebsite
  4. 最好使用for / while循环来执行第3步
  5. 您还可以像计数器一样添加某些计数器以了解最受欢迎的搜索/这将是MySQL中的另一个字段,您只需不断更新它(将其增加一个,但仅限于IP)

答案 3 :(得分:0)

好的,你的问题还不清楚。但我猜你的意思是你想先阅读最新的结果。

要实现此目的,请按以下步骤操作:

  1. 存储结果时,请使用额外字段来保存DATETIME。所以你的插入查询将如下所示:

    插入表(SearchItem,When)值($ strSearchItem,Now())

  2. 检索时,请确保按以下方式添加订单:

    从表格顺序中选择*当描述

  3. 我希望这是你的意思:)

答案 4 :(得分:0)

创建数据库,创建表(例如recent_searches)和query(搜索的查询)和timestamp(查询的unix时间戳)等字段,然后,对于您的脚本,您的MySQL查询将类似于:

SELECT * FROM `recent_searches` ORDER BY `timestamp` DESC LIMIT 0, 5

这应返回最近的5次搜索,最新的搜索首先出现。