PHP记住最后的搜索短语

时间:2012-01-23 12:23:21

标签: php mysql search

我见过很多网站都这样做。您可以在搜索字段下看到搜索短语。哪种方法最好?

3 个答案:

答案 0 :(得分:1)

如果要显示最近的搜索,只需将这些搜索保存在任何位置即可。例如,在您的数据库中(甚至纯文本文件都可以)。创建表recent_searches并在其中保存最新查询。使用cronjob偶尔清理一下表(如果需要)。执行搜索时,您可以将其插入recent_searches表中,例如:

$searchterm = 'Apple Pie Recipe';
// Insert the search into your recent search table
mysql_query("INSERT INTO `recent_searches` (`term`) VALUES ('" . mysql_real_escape_string($searchterm) . "'");
// Then search.
mysql_query("SELECT * FROM `searchtable` WHERE `title` LIKE '%" . mysql_real_escape_string($searchterm) . "%'");

答案 1 :(得分:0)

要在重新加载页面后保留搜索字段, 您正在根据搜索字段查询数据库

$mysearchStr =$_POST['searchPattern'];
if(empty($mysearchStr)
{
echo'<input type="text" name="searchPattern" value="">';
}
else
{
echo'<input type="text" name="searchPattern" value="$mysearchStr">';
}

答案 2 :(得分:0)

我想解决方案会有所不同,具体取决于您希望如何做到这一点。如果你只想展示最受欢迎的搜索,那么我想你可以只在你的数据库中使用表格并将完整的搜索词保存在一列中,并且有一个第二列,每当有人搜索到这一列时你会做+1术语。如果搜索字词不在您的表格中,则添加它。

然而,这有点受限。如果您希望能够显示趋势,或者如果您想在今天显示最热门的搜索,我想更好的方法是使用两个db-table。您的第一个表存储了ID和完整的搜索词。您的第二个表为每次搜索存储一行,并包含所用搜索词的ID,以及搜索完成时的时间戳。

使用第二种替代方案可以为您提供更多可能性,因为您知道在您的网站上进行的每次搜索的日期和时间。