2 일 :
if ($row['username_id'] == 1)
당신은 당신의 SQL에서 그것을 넣어한다 : 조회, 사용자와 친구에서
$result = mysql_query("SELECT username, friendname FROM tbusers INNER JOIN tbfriends ON tbusers.id = tbfriends.username_id where tbusers.id = ".$yourVariable);
가 연결되어, 만 동일 할 수있다. 이제
이 :
$count = $row['friendname'];//friendname is in friends
if ($row['id'] == $count)//id is in users
이 명백히 잘못을 소리
if ($row['id'] == $row['friendname'])
과 같다. 숫자 ID를 이름과 비교합니다. 또한 SQL 쿼리는 이미 모든 친구를 사용자로부터 검색합니다. 여기에 나와있는 버전에서는 관심있는 사용자의 친구 만 검색합니다.
마지막으로, 친구가 아닌 사용자의 이름을 (에코로) 인쇄합니다. 내 의견으로는 다음과 같은 코드는 당신이 원하는 것을 할 것입니다 :
$result = mysql_query("SELECT friendname FROM tbfriends WHERE username_id = ".$yourUserVariable);
while($row = mysql_fetch_array($result))
{
echo $row['friendname']; // or better: echo $row['friendname'], '<br>';
}
편집 : 주석 후 ...
그렇게
if ($row['id'] == $row['friendname'])
은 사용자가 자신의 친구입니다 의미합니다. 그럴 수 있니?
이 코드는 원하는 이름, 친구 이름을 인쇄합니다. 내가 FRIENDNAME을 언급하는 것을 잊었다
/*
$result = mysql_query("
SELECT username as friend_name,
friendname as friend_id,
username_id as user_id
FROM tbusers INNER JOIN tbfriends ON tbusers.id = tbfriends.username_id
WHERE tbusers.id = ".$yourVariable);
*/
$result = mysql_query("
SELECT username as friend_name,
friendname as friend_id,
username_id as user_id
FROM tbusers INNER JOIN tbfriends ON tbusers.id = tbfriends.friendname
WHERE tbfriends.username_id = ".$yourVariable);
while($row = mysql_fetch_array($result))
{
echo $row['friend_name']; // or better: echo $row['friend_name'], '<br>';
}
죄송 또한 ID입니다. 사용자의 정보는 사용자 테이블에 있습니다. 친구 테이블은 어떤 사람이 친구인지 확인하는 데 사용되므로 솔루션 작업이 가능하지만 friens의 ID 만 얻을 수 있기 때문에 if ($ row [ 'id'] == $ row [ 'friendname']) – Drikus
my 머리 아파! ^^ '! 가독성을 위해 friendname을 friend_id로 변경해야합니까? 게다가. tbfriends.username_id는 user_id로 이름을 바꿔야합니다. – roselan
여전히 작동하지 않습니다. 어떤 이름은 여전히 중복되어 있으며 처음에는 나타나야하는 이름은 없습니다. – Drikus