Php 选择多个表
我需要一些帮助Php 选择多个表,php,mysql,Php,Mysql,我需要一些帮助 table "friends" +------+-------------+-----------+ id | friend_id | user_id | +------+-------------+-----------+ 1 | 1222 | 99999 | +------+-------------+-----------+ 2 | 48989 | 1492 | +------+--------
table "friends"
+------+-------------+-----------+
id | friend_id | user_id |
+------+-------------+-----------+
1 | 1222 | 99999 |
+------+-------------+-----------+
2 | 48989 | 1492 |
+------+-------------+-----------+
table "users"
+------+-------------+---------------+
id | user_name | user_image |
+------+-------------+---------------+
99999 | Mark | img/abc.jpg |
+------+-------------+---------------+
1222 | Tom | img/xyz.jpg |
+------+-------------+---------------+
etc. | etc. | etc.. |
+------+-------------+---------------+
我想选择桌上好友并在何处声明:
等等:。。。其中user\u id=$\u会话[user\u id]。。。
并将显示来自表用户的数据
好吧,假设:
我的当前id是99999,因此表中的朋友仅匹配1222,因此这将显示来自表用户的id 1222(Tom)的所有数据(图像等)
所以我这里的问题是,我需要如何编写生成用户数据的代码
*我尝试使用UNION和LEFT JOIN…但运气不好..还是新手
$user_id = intval($_SESSION['user_id']);
$friends_of_user = mysql_query('
SELECT
f.*, u.*
FROM
friends f
LEFT JOIN
users u
ON
u.id = f.friend_id
WHERE
f.user_id = '.$user_id);
要排除用户表中没有配置文件的所有用户,只需将LEFT JOIN
更改为JOIN
要排除用户表中没有配置文件的所有用户,只需将
LEFT JOIN
更改为JOIN
,我将使用以下代码:
$user_id = mysql_real_escape_string($_SESSION['user_id']);
$sql = "SELECT f.*
FROM users u
INNER JOIN friends f ON (u.user_id = f.friend_id)
WHERE u.user_id = '$user_id' ";
我将使用以下代码:
$user_id = mysql_real_escape_string($_SESSION['user_id']);
$sql = "SELECT f.*
FROM users u
INNER JOIN friends f ON (u.user_id = f.friend_id)
WHERE u.user_id = '$user_id' ";
@ruslyrossi,如果你想消除没有朋友的用户,请使用内部连接。@Johan:可能不正确。在这种情况下,左连接意味着所有没有配置文件的朋友都将显示为空。嗯,你需要做
从用户中选择任何你的内部连接朋友f on….
在我的脑海中,这就是你所做的。@genesis:所以现在如果我遵循你的代码,我可以列出来自表用户的数据,如果我的当前id是macth,表friends中有friend_id?@ruslyrossi:此查询将选择所有朋友及其好友profiles@ruslyrossi,如果要消除没有朋友的用户,请使用内部联接。@Johan:可能不正确。在这种情况下,左连接意味着所有没有配置文件的朋友都将显示为空。嗯,你需要做从用户中选择任何你的内部连接朋友f on….
在我的脑海中,这就是你所做的。@genesis:所以现在如果我遵循你的代码,我可以列出来自表用户的数据,如果我的当前id是macth,表friends中有friend_id?@ruslyrossi:此查询将选择所有朋友及其个人资料