Я пытаюсь создать общий запрос друзей. Но я не уверен, как объединить две таблицы, чтобы получить правильный результат.Запрос общих друзей
Так что если пользователь сеанса имеет общего друга со своим другом, общий друг - это один. То, что я ищу, - лучшее решение, самый быстрый и самый маленький запрос для выполнения этой работы.
стол пользователя
id | first | last | username
----------------------------
друзей стол
id | user 1_id | user2_id | status
----------------------------------
Покушение запрос
$collectmutualfriends = mysqli_query($mysqli,"
SELECT
user.id,
user.first,
user.last,
user.username
FROM user
LEFT JOIN friends as friends1
ON friends1.user1_id = user.id
AND friends1.user2_id = '$user2_id'
AND friends1.status = 2
LEFT JOIN friends as friends2
ON friends2.user2_id = user.id
AND friends2.user1_id = '$user2_id'
AND friends2.status = 2
GROUP BY friends2.user2_id
");
$nummutual = mysqli_num_rows($collectmutualfriends);
if($nummutual==1){
echo"<a href='mutualfriends.php?username=".$_GET['username']."'>".$nummutual." Mutual Friend<br></a>";
}else if($nummutual>1){
echo"<a href='mutualfriends.php?username=".$_GET['username']."'>".$nummutual." Mutual Friends<br></a>";
}
UPDATE
$user1_id = $_SESSION['id'];
$user2_id = $data['id'];
$ user1_id и $ user2_id могут быть в user1_id или user2_id в таблице друзей, в зависимости от того, кто первым отправил запрос другу.
Вы можете разместить некоторые выборочные данные, а? –
Когда 2 пользователя являются друзьями, у вас есть 1 или 2 строки в другом? –
Что делают все остальные? – Strawberry