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

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

QA

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

답변 2

본문


$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';";

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 140
© SIRSOFT
현재 페이지 제일 처음으로