【问题标题】:Store php mysql ajax search engine result存储php mysql ajax 搜索引擎结果
【发布时间】:2013-07-12 16:41:48
【问题描述】:

我一直在做一个项目,然后我的朋友让我看看 网站搜索引擎。

搜索引擎是用php mysql ajax制作的,ajax分页。

你写一个关键词/搜索词,选择类别、州、城市价格然后点击搜索, 像任何其他搜索引擎一样。

一切正常,但假设您进行搜索,然后单击其中一个 “搜索结果链接”然后从该页面再次返回到索引(搜索页面),您的 先前输入的搜索值以及该搜索查询的搜索结果已被清除。

所以我现在的问题是,是否有人对如何解决这个问题有好的建议? 由于它的 ajax/js,Url 保持不变,例如 index.php/ 并且在您搜索某些内容时不会改变。

我希望能够进行搜索,单击其中一个链接然后再次返回,但仍然保留我以前的搜索值/结果,因此我不必再次填写相同的内容。

代码有点乱,等我清理一下我再贴出来。

谢谢!

【问题讨论】:

  • 老方法是最好方法的原因之一
  • 您可以相应地更改window.location.hash。但最重要的是:不要仅仅因为它“酷”而使用 AJAX,而只在它有意义的地方使用它。在这种情况下,我看不出你应该使用 AJAX 的理由......
  • 同意,现在这是我自己的工作,我的朋友真的希望我使用他的代码:/ 有很多 ajax 正在进行。作品如下:您搜索某些内容,搜索结果显示为链接,如果您单击一个链接,其中一些链接内容将像预览一样加载到 div 中,然后有一个“阅读更多”按钮现在针对 target_blank,但它应该是直接链接。所以我猜他们决定全力使用 ajax,因为已经有这么多的了?

标签: php mysql ajax search search-engine


【解决方案1】:

答案很简单:使用会话!但是,让我证明我的意思。

假设以下是您的搜索表单。

<form method='POST'>
  <input type='text' name='search' placeholder='<?php echo  $history' ?> />
  <input type='submit' name='submit'/>
</form>

现在,如果您想在输入栏中保存每个最后的搜索关键字,请使用这样的会话:

<?php
session_start();
if(isset($_POST['submit']) && !empty($_POST['search'])){
   $_SESSION['history'] = $_POST['search'];
   $history = $_SESSION['history'];
}else{
   $history = 'enter your search term';
}

【讨论】:

  • 谢谢西蒙,我会试试的。有太多的搜索值要填写,还有 js/ajax 的东西,比如 ajax 下拉列表等,并在结果上的 listview-mode thumgnail-mode 与 json 之间进行更改。而且当它不是你自己的代码时总是感觉很乱呵呵
  • 没问题。但这是一个非常简洁的解决方案,它将为您节省大量时间。顺便说一句:当人们帮助你时,你必须接受答案,在 StackOverflow 中
猜你喜欢
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-10-25
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
相关资源
最近更新 更多