2012-10-15 2 views
-1

I 세 개의 테이블이 있는데, 하나는 다른 두 테이블의 "링크"역할을합니다. 내가 뭘 달성하려고하는 것은이INNER JOINED SQL 데이터를 PHP로 어떻게 표시합니까?

Products 
Num|Product_Code 
1 | HVTE 
2 | HVTT 
3 | HV31 
4 | HV11 

Colours 
Num|Colour|Image 
1 Yellow Yellow Image link 
2 Orange Orange Image link 
3 Pink Pink image link 

Product-Colours 
P_Num | Colour_Num 
1  1 
1  2 
2  1 

무엇 내가 달성 바라고 것은 그 P_NUM = Products.Num 및 Colour_Num = Colours.Num 출력 화면의 컬러 이미지의 경우.

나는 PHP에 상당히 익숙하므로 가능한 경우 철저한 설명이 필요합니다. 사전

+0

질문을 이해할 수 없으며 알고리즘에 대해 어떻게 설명합니까? –

+0

중간 테이블을 '연관'테이블이라고합니다. 또한 기본 키 및 외래 키를 읽습니다. 이 질문은 SQL 결과를 해석하는 방법과는 다른 PHP와 관련이 없습니다. –

+0

MySQL 데이터베이스와 통신하기 위해 PHP를 사용하여 제작하고있는 웹 페이지입니다. 나는 PK와 FK가 무엇인지를 알고 있는데, 내가 달성하고자하는 것은 일치하는 컬럼을 기반으로 "색상"테이블에 저장된 이미지를 출력하는 것이다. – Matt

답변

0

에서

덕분에 나는 당신이 원하는 것은 제품 번호가 부여 제품의 색상입니다 제대로 이해합니다. 당신이해야 할 일은 연관표를 색상 표에 간단히 가입시키는 것입니다. 즉이다 :에 Product-Colours의 이름을 변경하는 것은 좋은 생각이 될 수 있도록 테이블 세력의 이름을 -를 사용하여이 조금 성가시다 제 생각에는 ... 역 따옴표로 테이블 이름을 인용하는 것을

SELECT 
    Colour 
FROM 
    Colours 
JOIN 
    `Product-Colours` 
ON 
    Colours.Num = `Product-Colours`.Colour_Num 
WHERE 
    `Product-Colours`.P_Num = # The Product Number 

Product_Colours과 같은 것입니다.

0

대답은 "php mysql example"을 검색 할 때 첫 번째 목록 인 such as with this page 인 검색 결과입니다.

<?php 

mysql_connect(localhost,$username,$password); 
@mysql_select_db($database) or die("Unable to select database"); 

$query = "SELECT `Image` as prod_colour_img_link FROM Colours JOIN `Product-Colours` ON Colours.Num = `Product-Colours`.Colour_Num WHERE `Product-Colours`.P_Num = ".$prod_num; 

mysql_query($query); 

$num=mysql_numrows($result) 

echo '<ol>'; 
$i=0; 
while ($i < $num) { 
    $prod_colour_img_link = mysql_result($result,$i,"Colour"); 

    echo '<li><img src="'.$prod_colour_img_link.'" /></li>'; 

    $i++; 
} 
echo '</ol>'; 

?> 

당신은 당신이 두통 디버깅거야 오류가 발생할 것입니다 따기있는 이름과 같은 MySQL의 안전 열 & 테이블 이름 (이름 지정 규칙)을 읽을 수 있어야합니다. 당신은 그 이름을 사용할 수 있지만 그렇게해서는 안됩니다.

이 답변이 완벽하지 않은 경우 필요에 맞게 수정하여 구체적인 질문을하십시오.

관련 문제