2013-06-13 1 views
0

데이터베이스에서 두 개의 배열을 가져옵니다. 그 중 하나는 friends 테이블에 있고 다른 하나는 members 테이블에 있습니다.어떻게 두 배열을 같은 순서로 넣을 수 있습니까?

프로필에 친구의 사용자 이름을 표시하려고합니다. 이제 끝났지 만, 이제는 그 사용자 이름의 프로필을 가진 사람에게 연결을 시도하고 있습니다 (userName을 클릭하여 userName의 프로필로 이동). friends 배열 ($ friendsarr)에는 친구의 ID가 모두 있고 사용자 이름 배열 ($ friendunamearr)에는 ID와 일치하는 사용자 이름이 있습니다. 그러나 그들은 같은 순서가 아닙니다.

앞에서 언급 한 것을 잊어 버린 경우 회원 테이블에 ID 필드가 있습니다. 그것이 내가 모든 사용자 이름을 가져 오는 방법입니다.

예를 들어 user1과 user2가 있다고합시다. User1의 ID는 1입니다. User2의 ID는 2입니다. User1의 프로필에 대한 링크를 클릭하면 User2의 프로필로 이동하며, 그 반대도 마찬가지입니다.

같은 순서로 넣을 방법이 있습니까?

+0

다음? – Fabio

+2

귀하의 질문에 많은 의미가 없습니다 - 문제는 잘못된 데이터를 인쇄하거나 잘못된 데이터를 선택한다는 것입니다. 배열을 주문하는 것과는 관련이 없습니다. 코드를 게시하십시오. - 당신이 friendsArr을 id가 키이고, username이 값인 배열로 변경한다면, 문제는 해결 될 것입니다. – Jessica

+0

내가 명확하지 않은 경우 미안합니다. 이것은 Dubstaphone

답변

0

당신이 뭔가 함께 할 수있는 빠른 플레이를 갖는 (테스트하지) 쿼리는

<?php 

error_reporting(E_ERROR | E_PARSE); 

$sql = mysql_query(" 
SELECT members.username, Sub1.FreindIds 
FROM members 
INNER JOIN (
    SELECT user_id AS FreindIds FROM friends WHERE friend_id=$usrid 
    UNION 
    SELECT friend_id AS FreindIds FROM friends WHERE user_id=$usrid 
) Sub1 
ON members.id = Sub1.FreindIds"); 

$checksql = mysql_num_rows($sql); 

while ($row_comp = mysql_fetch_assoc($sql)) 
{ 
    echo '<a href="../../member/profile?id=' . $row_comp['FreindIds'] . '">' . $row_comp['username'] . '</a><br />'; 
} 

error_reporting(E_ALL); 

?> 
관련 문제