显示朋友列表中的朋友

时间:2014-12-05 16:35:36

标签: php mysql performance

我正在建立一个社区网站,我将其添加为朋友的功能。

现在我的朋友表看起来像这样

+----+---------+-------+
| id | ppl_1   | ppl_2 | 
+----+---------+-------+
|  1 |    5    |  7    | 
|  2 |    13   |  5    |
+----+---------+-------+

id is simply the autoincrement field.
ppl_1 is one user's id
ppl_2 is another user's id

现在考虑我是id为5的用户。我想看看我的朋友列表。我如何能够解决这个问题,因为我的ID可以在ppl_1ppl_2之间的任何位置。那么我必须运行2个查询来检查吗?这将是糟糕的我想考虑网站的性能..或者我是否必须在一个查询中做一些事情以检查两种方式?

考虑$me = $_SESSION['id'] ;

有人在这里向我展示一些亮点吗?

1 个答案:

答案 0 :(得分:0)

如果您重命名表格中的ppl_1和ppl_2列,以便更好地反映其实际含义,它会对您有所帮助。

你可以为他们命名像朋友一样的东西。和' befriended_by'

然后你会执行一个连接:

SELECT befriended_by 
FROM user
INNER JOIN [name of your table above]
ON user.id = friend
WHERE user.id = [:id, please use parameterised queries to insert your $_SESSION['id'] here or some other sane method to prevent sql injection attacks ]

那就是它。

相关问题