1
這是我的方式來檢查我的數據庫中的共同朋友。使用MySql查找表格中的常見值JOINS
例如,如果用戶有朋友用戶:(1,2,3,4),並且用戶2有朋友用戶:(2,4,5)我想要顯示(2和4)。
有沒有更好的方法使用MYSQL JOINS來做這件事?
我有一個users
表蒙山包含所有用戶ID和friends
表user_one
和user_two
列user_id
列。
$user_one_fr = $db->query("select * from `friends` where `user_one` = '$session_user_id' or `user_two` = '$session_user_id'");
$user_two_fr = $db->query("select * from `friends` where `user_one` = '$user_id' or `user_two` = '$user_id'");
while ($loop_user_one_fr = mysqli_fetch_assoc($user_one_fr)) {
if($loop_user_one_fr["user_one"] == $session_user_id)
$user_one_fr_array[] = $loop_user_one_fr["user_two"];
else
$user_one_fr_array[] = $loop_user_one_fr["user_one"];
}
while ($loop_user_two_fr = mysqli_fetch_assoc($user_two_fr)) {
if($loop_user_two_fr["user_one"] == $user_id)
$user_two_fr_array[] = $loop_user_two_fr["user_two"];
else
$user_two_fr_array[] = $loop_user_two_fr["user_one"];
}
$mutual_fr = array_intersect($user_one_fr_array, $user_two_fr_array);
foreach ($mutual_fr as $fr)
echo $fr . ', ';
聯接將是一個不錯的選擇,爲什麼你不想使用它們? –
因爲我不太瞭解他們。我的意思是我知道他們是如何工作的,但我在編碼時遇到一些困難。 :) – rexhin