如何保存和回复用户最近的5次搜索


How can I save and echo a users 5 recent searches

我的网站上有一个ajax搜索框,允许用户在数据库中搜索内容。我想知道的是如何用会话保存用户最近提交的5个搜索,并在页面

上实时回显它们

简单的解决方案:

您需要构建它。

具体来说,如果你想使用SESSION,你的功能需要做以下事情:

  1. 创建一个SESSION数组(5)
  2. 在每次AJAX调用中,search.php还应该将POST推送到数组上
  3. 在搜索#6中,您需要推送每个元素的索引+1,弹出第一个元素并添加第六个元素

对于5之后的每个第N个元素,弹出第一个,推动每个元素的索引+1并添加第N个

在你的主页上,或者在任何你要看到结果的地方,你只需要:

<div>
<?
echo "Most recent searches: 1. ".$_SESSION[searches][0]."<br>
                            2. ".$_SESSION[searches][1]."<br>
                            3. ".$_SESSION[searches][2]."<br>
                            4. ".$_SESSION[searches][3]."<br>
                            5. ".$_SESSION[searches][4]."<br>"; ?>
</div>

如果您的意思是跨多个页面,您可以在客户端执行此操作,方法是将搜索保存在cookie中,并通过javascript检索它们,然后通过搜索框将它们添加到页面中。

如果您只在当前页面中需要它,那么您可以在每次搜索后更新本地javascript数组变量(删除最旧的条目,添加最新的条目)。