我正在写一个类似于“约会服务”的网站(只是为了好玩和练习)。
但现在我被困住了。我使用PHP和MySQL。
每一位新成员都必须填写“你喜欢做什么?”用逗号分隔的问题:
如下所示:
计算,舞蹈,阅读,电视,电影
诸若此类。
我的问题是“我怎样才能把推荐的人展示给别人?”
即
成员A:
计算,舞蹈,阅读,电视,电影
成员B:
书籍,手机,橄榄球
C成员:
舞蹈,电影
在这种情况下,A&C比A&B或B&C有更多的机会。
我会感激任何提示,试图做到这一点,或你自己的想法来解决这个问题。谢谢!
PS:对不起,我的英语
发布于 2010-09-08 15:44:38
我想说的是,第一步是把他们的利益分成几个单独的词。然后创建一个只有两列的表:用户和兴趣。
| user | interest |
|------|-----------|
| A | computing |
| A | dancing |
| ... | ....... |
| C | movies |诸若此类。然后,您所需要做的就是自己加入表,并计算与目标用户共同感兴趣的数量。按用户分组,并根据兴趣的计数进行排序(假设这是衡量他们相处情况的标准)。我想不出这方面的sql,但也许这对你来说是个很好的练习。或者其他人会把它作为答案发出去。祝好运!
发布于 2010-09-08 15:44:25
好吧,你可以先数一数每个成员有多少共同的兴趣,然后你只需要选择最有共同点的一个。我很确定您可以只使用一个SQl查询,或者2.当然,取决于你的数据库结构。
你需要发布你正在使用的数据库结构,所以我和其他人会给你一些代码.
https://stackoverflow.com/questions/3669416
复制相似问题