2016-09-29 101 views
0

我最近在本网站工作,用户可以发布他们想要的任何内容。假设每月有100'000篇文章发布,找到您需要的内容将是一件痛苦的事情。这就是为什么我们在网站上有搜索栏。以下是我了解的部分:我知道如何创建搜索栏并检查数据库中的每个项目,以查看它是否与用户的搜索项匹配。现在对于我不明白的部分:我不明白如何检索与搜索词相关的数千个单个项目并以体面的方式显示它们。请允许我详细说明。在谷歌上,它显示了每页的一定数量的结果,然后你点击一个按钮进入下一页。我如何重新创建这样的东西?是否可以使用PHP和HTML创建搜索引擎?

include_once "mysql_connect.php"; 


$terms = $_POST["search"]; 

$fetchlast = mysql_query("SELECT `id` FROM allaccounts WHERE id=(SELECT MAX(id) FROM allaccounts)"); 
$lastrow = mysql_fetch_row($fetchlast); 
$lastid = $lastrow[0]; 

for ($i=1; $i <= $lastid; $i++) { 

$current= mysql_query("SELECT * FROM posts WHERE id=$i"); 

while ($row = mysql_fetch_array($current)) { 
    $articlename= $row[0]; 
    $articleid= $row[1]; 
    $articleurl= $row[2]; 
} 
} 

这是我到目前为止。此代码浏览整个数据库,并将它检查的最后一个条目存储在一组变量中。我将为每个不同的搜索词汇提供不同数量的退回文章。我怎样才能存储每个人的细节?

+1

试图找出它自己?你需要SQL来完成这件事。 – Jer

+0

欢迎来到SO。 请阅读[我可以问哪些主题](http://stackoverflow.com/help/on-topic) 和[如何提出一个好问题](http://stackoverflow.com/help/how-to - 问) 和[完美的问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何创建[最小,完整和可验证的例子] (http://stackoverflow.com/help/mcve) SO是**不是一个免费的编码或代码转换或调试或教程或库查找服务** 您还必须表明,你已经努力解决你自己的问题。 – RiggsFolly

回答

1

以检索相关数据供用户从数据库中搜索,您可以使用 “喜欢” 查询:

=“SELECT * FROM帖里LIKE '%$ USER_QUERY%'

要显示数量有限每页结果使用'分页'。搜索分页技术。