2011-11-11 68 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