나는 사용자가 다른 사용자를 따라갈 수있는 곳에서 앱을 만들고 있습니다.MYSQL 다음 사용자 쿼리 작성하기
사용자는 다른 사용자가 누구를 따르고 있는지 볼 수도 있습니다.
지금, 나는 다음과 같은되어 사용자 2 모든 사람의 ID를 찾아 따르고의 user1 사람에 대해 그것을 비교해야 사용자 1는 다음 누가 사용자 2보고있다 말할 수 있습니다.
(다른 포럼에서 보았던) user1과 user2와 일치하는 모든 사용자의 ID 만 반환하는 대신 다음과 같은 모든 user2의 다음 ID와 사용자 이름을 검색해야합니다. 따라 오는 사람에게도 user1이 올지를 나타냅니다.
각 쿼리의 이중 for 루프를 사용하여 PHP에서 작동하도록했습니다.하지만이 코드는 비용이 많이 들며 단일 MYSQL 쿼리로 훨씬 더 최적화 될 것이라고 걱정합니다.
관련 테이블 및 열 :
여기$user_id1 = '1991';
$myFollowingQuery = "SELECT following_table.followed_id, user_table.user_name
FROM following_table
INNER JOIN user_table ON
following_table.followed_id = user_table.user_id
WHERE following_table.following = 'true'
AND following_table.follower_id = '$user_id1'";
$user_id2 = '1985';
$userFollowingQuery = "SELECT following_table.followed_id, user_table.user_name
FROM following_table
INNER JOIN user_table ON
following_table.followed_id = user_table.user_id
WHERE following_table.following = 'true'
AND following_table.follower_id = '$user_id2'";
$userFollowingResult = mysql_query($userFollowingQuery)
or doResponse('error',"Couldn't connect to the database");
$myFollowingResult = mysql_query($myFollowingQuery)
or doResponse('error',"Couldn't connect to the database");
for($i = 0; $i< mysql_num_rows($userFollowingResult);$i++){
$loopArray = array(followed_id => mysql_result($userFollowingResult,$i,"followed_id"),
followed_name => mysql_result($userFollowingResult,$i,"user_name"));
for($j = 0; $j< mysql_num_rows($myFollowingResult);$j++){
if(mysql_result($userFollowingResult,$i,"followed_id")
==mysql_result($myFollowingResult,$j,"followed_id")) {
$loopArray['is_following'] = 'true';
break;
}
if($j==mysql_num_rows($myFollowingResult)-1){
$loopArray['is_following'] = 'false';
break;
}
}
$resultArray[$i] = $loopArray;
}
echo json_encode($resultArray);
나는 아니에요 그게 무슨 뜻인지, 어때? 원하는 팔로 잉리스트를 찾고 있습니까? –
테이블 구조도 붙일 수 있습니까 ('show create table TABLE_NAME'). 내 생각에 MINUS, INTERSECT를 사용하여 문제를 해결할 수 있습니다. – golja
초보자가되어 죄송합니다. 절대 사용하지 마십시오 (create table TABLE_NAME). 그것은 질투와 함께 작동 시키려고했지만 결과가 없습니다. 기본적으로 다음 테이블은 다음과 같이 구성됩니다. follower_id | follows_id | date_created | 다음 (참 또는 거짓) user_table은 다음으로 구성됩니다. user_id | user_name | 추종자 | 다음 | 등등. –