2016-09-29 246 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%'

要顯示數量有限每頁結果使用'分頁'。搜索分頁技術。