2012-06-13 4 views
2

사용자가 즐겨 찾기 목록을 만들 수있게하려고합니다.mySQL : 다른 테이블의 ID를 사용하여 한 테이블의 데이터 표시

mySQL의 데이터베이스에 두 개의 테이블이 있습니다. 하나는 비즈니스에 대한 정보를 저장하고 다른 하나는 고유 한 사용자 ID뿐만 아니라 사용자가 즐겨 찾기를 표시 한 첫 번째 테이블의 ID를 저장합니다.

표 1

<pre> 
ID | NAME | EMAIL  | PHONE | 
1 | Joe | [email protected] | 25634565 | 
2 | John | [email protected] | 43634565 | 
3 | Jack | [email protected] | 65634565 | 
4 | James| [email protected] | 43634565 | 
5 | Julie| [email protected] | 65634565 | 
... 
</pre> 
표 2
<pre> 
    USERID | FAV1 | FAV2 | FAV3 | FAV... 
2565325489 | 1  | 3  | 5  | 
8596854785 | 3  | 2  | NULL | 
2356256263 | 5  | NULL | NULL | 
... 
</pre> 
(표 2의 첫 번째 예에서) 사용자에 대한 I 원하는 출력 : I 내로 보았다
<pre> 
Joe | [email protected] | 25634565 | 
Jack | [email protected] | 65634565 | 
Julie| [email protected] | 65634565 | 
</pre> 

왼쪽 가입 및 마이너스 쿼리 호출,하지만 난 그냥 작동하도록 만들 수 없습니다. 나는 mySQL과 PHP에 대한 기본적인 지식을 가지고 있지만 많이는 아니다.

나는 어떤 접근 방식을 취해야하는지 잘 알고 있습니다.

미리 감사드립니다. :-)

Ps. 내 데이터베이스를 구성하는 더 좋은 방법이 있다면, 알고 싶습니다. 각 항목에 대해 하나 개의 항목을 - userIDfav -

답변

2

나는 두 개의 필드와 테이블을 사용하십시오. 그리고 응답에 대한 다음 ...

SELECT table1.name, table1.email, table1.phone FROM table1,table2 WHERE table2.fav = table1.id AND table2.userid = 2565325489

+0

kuh-chan - 고맙습니다.이 코드는 유지하기가 쉽고 코드를 이해할 수 있습니다. 많은 감사 :-) – troelsk

0
$result = mysqli_query('SELECT name,email,phone FROM t1 table1 LEFT JOIN table2 t2 ON t1.ID = t2.fav1'); 

//iterate the results 
while ($row = mysqli_fetch_array($result)) 
{ 
    echo $row['name']." ".$row['email']." "$row['phone']; 
} 
+0

덕분에 :-) – troelsk

+0

당신이 그것을 작동하고 시도? –

+0

나는 나를 위해 더 쉽게 이해할 수있는 다른 대답들 중 하나와 함께 갔다. – troelsk

0
Select * from table1 InnerJoin (Select * from table2) as t4 on table1.ID=t4.FAV1 
+0

답변 해 주셔서 감사합니다 .-) – troelsk

관련 문제