Reputation: 279
I'm having a lot of problems getting mutual friends between users and displaying those mutual friend's picture, userid and names in a while loop. I have tried nearly every answer on SO on mutual friends but when I mix all of the column's needed for the while loop, everything breaks down. Any help would be much appreciated.
Friends Table:friend_id, friend_one, friend_two, date
Users table: uid, name_f, name_l, profile_pic
When users add one another as friends, I record the following. Let's assume that user 1 and user 2 are now friends:
friend_one: 1, friend_two: 2, Date
friend_one: 2, friend_two: 1, Date
I would need something like the following, the sql query only return the number of mutual friends for me but doesn't help me select the user's uid, profile pics and names:
$friends_sql=mysql_query("SELECT b.friend_two FROM (SELECT friend_two FROM friends WHERE friend_one = $myvar1) a INNER JOIN (SELECT friend_two FROM friends WHERE friend_one = $myvar2) b ON a.friend_two = b.friend_two");
while($friends=mysql_fetch_array($friends_sql))
{
something
?>
<li>
<img of user><p>name of user</p><a hre>link to user's uid</a>
</li>
<?php
}
?>
Upvotes: 1
Views: 882
Reputation: 10346
Does the next code works for you?
$friends_sql=mysql_query("SELECT b.friend_two FROM (SELECT friend_two FROM friends WHERE friend_one = $myvar1) a INNER JOIN (SELECT friend_two FROM friends WHERE friend_one = $myvar2) b ON a.friend_two = b.friend_two");
while($friends=mysql_fetch_array($friends_sql))
{
$getMutualFriendInfo = mysql_query("SELECT * FROM users WHERE uid='{$friends['friend_two']}'");
$MutualFriendInfo = mysql_fetch_array($getMutualFriendInfo);
?>
<li>
<img src="<?=MutualFriendInfo['profile_pic']?>"><p><?=MutualFriendInfo['name_f'] ?> <?=MutualFriendInfo['name_l'] ?></p><a href="/user.php?uid=<?=MutualFriendInfo['uid'] ?>"></a>
</li>
<?php
}
?>
Upvotes: 2