php - 如何创建推荐用户的算法

标签 php mysql

我对 Mysql 中的复杂查询没有很深的了解。

我有一个系统,用户可以在其中相互关注并随时了解他的新闻。

我有两张表:一张用于用户,一张用于保持两个用户之间的连接。

我需要一个好友提示系统吗,例如你推荐的 Facebook 好友。

我想做点什么。例如,我关注了一个特定的用户,而这个用户关注了另一个用户,但我不关注他关注的那个用户。我们三个来自圣保罗所在的同一个城镇,我想查询一下我仍然没有关注的用户,因为他是我 friend 的 friend ,因为他和我在同一个城市。

我的表是:

tb_usuario
id | name  | city
1  | Halan | Sao Paulo
2  | John  | Sao Paulo
3  | Maria | Sao Paulo

tb_ligacao

id | user_id | id_usuario_seguido
1  | 1       | 2
2  | 2       | 3

有人可以帮助我吗?

最佳答案

您似乎想看看谁是 friend 的 friend 。为此,请使用您的代码:

select * from tb_usario as a left join tb_ligacao as b on a.id = b.id_usuario_seguido where b.user_id = 1

上面的代码将为 ID 为 1 的用户获取所有 friend 。要获取他们的所有 friend ,您将遍历并运行相同的代码,但将 ID 更改为循环的变量。

关于php - 如何创建推荐用户的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221463/

相关文章:

php - 如何将所有地址栏请求重定向到一个索引页面?并使用请求的子文件夹作为输入

mysql - 在 rbenv 上安装 mysql gem

php - 如何衡量我的实时聊天是否最佳?

java - 从 Android/Java 应用程序 POSTING 到 PHP + MYSQL 时出现问题

PHP、MySQL 选择帖子和评论

php - 如何将javascript变量传递给php

php - session ['username'] 未设置

php - preg_split 不删除搜索模式

MySQL inner join help - 想要包含没有匹配的行

mysql - 使用UPDATE函数批量更新记录