我正在写一种“约会服务”网站(只是为了娱乐和练习)。
但是现在我被卡住了。我使用PHP和MySQL。
每位新会员必须完成“你喜欢(做什么)?”用逗号分隔的问题:
像这样:
计算,舞蹈,阅读,电视,电影
等等。
我的问题是'我怎样才能向某人推荐推荐人'?
即
会员A:
计算,舞蹈,阅读,电视,电影
会员B:
书籍,手机,橄榄球
会员C:
跳舞,电影
在这种情况下,A& C比A& A有更多机会相处B或B& ç
我会感激任何尝试做到这一点的暗示,或者你自己的想法来解决这个问题。谢谢!
PS:对不起我的英文
答案 0 :(得分:2)
我想说第一步是将他们的兴趣列表分成单独的词。然后创建一个只有两列的表:user和interest。
| user | interest |
|------|-----------|
| A | computing |
| A | dancing |
| ... | ....... |
| C | movies |
等等。然后,您需要做的就是将表连接到自身并计算与目标用户共同的兴趣数。按用户分组,并按共同兴趣的数量排序(假设这是他们相处得多好的指标)。我无法想到这个问题,但是对你来说这可能是一个很好的练习。或者也许其他人会将其作为答案发布。祝你好运!
答案 1 :(得分:1)
嗯,你可以先计算每个成员有多少共同利益,然后你就选择一个最常见的利益。我很确定你只需要一个SQl查询就可以做到这一点,或者可能是2 ......当然,这取决于你的数据库结构。
你需要发布你正在使用的数据库结构,所以我和其他人实际上给你一些代码......