2011-11-11 108 views
0

我的網站有一個用戶搜索,用戶可以在其中搜索其他用戶。我希望這種搜索能夠先顯示所有朋友,並且當沒有找到朋友時,其他用戶。但要做到這一點,我必須在每個keyup上運行幾個db查詢。對於朋友的查詢有點複雜,因爲有朋友的類型,並且認爲它總是不適合用於表現,但是通過搜索讓所有人成爲一個非常基本的查詢。PHP,jQuery - 關於即時搜索實現

現在我想讓這些朋友留在一個變量中,但我迷路了。什麼是最好的方式來做到這一點。我已經在$_SESSION中存儲了有關用戶和朋友的信息,但擁有該客戶端將會非常棒。我正在考慮將它存儲在一個cookie中,但我想知道如果我試圖存儲與幾百個用戶一樣的數組,這是否適合4kb。什麼是最好的實施方式?有什麼想法嗎?

回答

0

您是否在數據庫中使用交叉引用表來跟蹤誰與誰交朋友?我認爲這是一個很好的解決方法,如果你不這樣做,那麼你只需要查詢這張表來獲得朋友。

...because there types of friends...
這是否意味着有不同類型的朋友?

簡化你可以有一個表有三列:PERSON_IDfriend_idfriend_type(如果需要)。 Person_id和friend_id是對相同類型的id的引用。當兩個人成爲朋友時,你可以將他們的身份證添加到桌上,以及他們是什麼類型的朋友。

如果你真的想在客戶端做到這一點,我想localStorage可能是需要查看的東西,但它可能不被所有瀏覽器支持。 localStorage大約需要10MB(如果我沒有錯的話)存儲。加載用戶首次進入網站時的朋友列表。我可能會在服務器端進行會話,但這只是我的看法。

+0

是的,生病可能要堅持一個會議。當我說有朋友的類型時,我的意思是它像twitter,follow和followers一樣工作。而朋友們,當兩個用戶相互關注時,這就是爲什麼要獲得這些關係有點複雜。所以我相信我會堅持一個會話,至少在不需要的時候不允許在每個字符上調用db。這應該是暫時的工作。謝謝。 – Giedrius