두 개의 테이블을 참조했을 때는 출력을 어떻게 하나요?

두 개의 테이블을 참조했을 때는 출력을 어떻게 하나요?

QA

두 개의 테이블을 참조했을 때는 출력을 어떻게 하나요?

본문


$SQL = "SELECT FREE.wr_2, FREE.wr_3, FREE.wr_1, FREE.wr_name, FREE.mb_id  FROM g5_write_free AS FREE, g5_write_notice AS NOTICE
WHERE NOTICE.mb_id = FREE.mb_id AND NOTICE.wr_1 ='3' AND FREE.wr_10 = '1';";
$result = sql_query($sql);
$row = mysql_fetch_array($result);
<table>
<?php while($row){?>
 <tr>    
  <td>
    <?php echo $row[] ?>
  </td>
  <td>
    <?php echo $row[] ?>    
  </td>
  <td>    
    <?php echo $row[] ?>
  </td>
</tr>
<?php }?>
</table>

 

위와 같이 sql문을 작성했을 때에는 php echo 부분을 어떻게 작성해야 하나요?

이 질문에 댓글 쓰기 :

답변 2

앞에 붙인 별칭을 빼고 입력하면 됩니다.

echo $row['wr_2'];

같은 걸 불러와야 할 경우엔 또 다시 해당 칼럼에 별칭을 붙이시면 됩니다.
SELECT FREE.wr_1 AS fwr1, NOTICE.wr_1 AS nwr1 ~~~ FROM
이런 식으로 하시면 됩니다.
실제로 사용할 땐
echo $row['fwr1'];
echo $row['nwr1'];

as 별칭을 붙여야합니다.


$SQL = "SELECT FREE.wr_1 as fwr_1, NOTICE.wr_1 as nwr_1 FROM g5_write_free AS FREE, g5_write_notice AS NOTICE
WHERE NOTICE.mb_id = FREE.mb_id AND NOTICE.wr_1 ='3' AND FREE.wr_10 = '1';";

이렇게 하시면

FREE.wr_1 = fwr_1

NOTICE.wr_1 = nwr_1

echo $row['fwr_1'];

echo $row['nwr_1'];

불러올수있습니다.

 

보통의 방법으로는 모든 컬럼을 가져온 후 원하는 컬럼만 as 별칭을 주는것이 더 효율적입니다.


$SQL = "SELECT *, FREE.wr_1 as fwr_1, NOTICE.wr_1 as nwr_1 FROM g5_write_free AS FREE, g5_write_notice AS NOTICE
WHERE NOTICE.mb_id = FREE.mb_id AND NOTICE.wr_1 ='3' AND FREE.wr_10 = '1';";

 

답변을 작성하시기 전에 로그인 해주세요.
전체 139
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT