2009-07-26 48 views
3

,當用戶搜索使用快速搜索功能,我的網站,我想登錄到我的數據庫這個我將如何在我的PHP/MySQL網站上登錄搜索?

  1. 很顯然,我想看看我的用戶正在尋找
  2. 我可以創建基於一個「標籤雲」在這些搜索

我有一個表searchterms在兩個字段的時刻:idterms,我在想,如果這是記錄此信息的最佳方法。然而,Terms正變得有點多餘。

任何相關腳本的線索或鏈接?

謝謝你們

+0

這兩個有用的答案,但我會先看看谷歌分析。生病可以儘量減少服務器負載! – bluedaniel 2009-07-28 02:45:41

回答

2

我還沒有嘗試,但谷歌分析提供了跟蹤用戶在您的搜索框中輸入的選項。用於顯示的是開發者API。

注意這是所有的JavaScript。它的好處是可以減輕服務器的負擔。

也許不是你要找的東西,但值得一提的。

+0

對於給定的問題,這實際上是一個很好的解決方案。 – 2009-07-26 22:54:15

3

怎麼樣一個表來存儲方面(也許在一些「標準化」的方式,如全部小寫,沒有口音,...),而另一個表來存儲時,這些條款已被搜查爲?

正常化的事情是爲了避免在您的可能中將「單詞」和「單詞」看作兩個不同的術語;同樣的「éléphant」和「大象」,順便說一句。

terms 
    - id 
    - word 

terms_searched 
    #id _term 
    - time_search 

然後,知道最後搜查條款,或最搜查條款,只是一個簡單的SQL查詢的事,像

select id, term, count(*) 
from terms 
    inner join terms_searched on terms_searched.id_term = terms.id 

也許where子句指定你只想最近的搜索將被考慮在內?

如果你的表變得非常大,在查詢開始傷害表演的加入,你可以設想非規範化,把一個「num_times_searched」中的術語表,凝聚了多少次的一個術語已被搜查