0

我有两个列表朋友表,其中包含彼此朋友的用户的重新编码。我想得到一个列表谁是特定用户的朋友。为此,我编写了一个这样的 sql 查询并得到了结果..

SELECT * 
FROM  `friends` 
WHERE  `user_idf` =  '2'
OR  `user_idff` =  '2'

++ user_idf ++++   user_idff+++
    2   +   1
    3   +   2   
    4   +   2
    2   +   5
+++++++++++++++++++++++++++

如何编写一个 php 函数来回显 2 的朋友的用户(我将用一个 POST 替换它从应用程序获取用户 ID 的位置),即 1、3、4、5

4

1 回答 1

1

你的意思是这样的吗?

(SELECT `user_idf` FROM `user` WHERE `user_idff` = 2) UNION (SELECT `user_idff` FROM `user` WHERE `user_idf` = 2)

老实说,我对 sql 不是很好,但我认为 union 是你正在寻找的(我认为我的语法是正确的,尽管我不是 100%)。

据我了解,这应该获取与用户 2 为朋友的任何人的用户 ID 并输出。当用户 2 在user_idfuser_idff列中时返回的结果的并集。

编辑:其实我仍然坚持我的回答,如果你不这样做;不做这个 sql 方面那么你将不得不有一个更复杂的 PHP 函数。

对于 PHP 本身,将 mysqli 和 PDO 作为准备好的语句的两个主要选项。

于 2012-07-21T14:36:55.240 回答