이전 목록 다음
채택완료

mysql 세개의 컬럼을 꺼내오기 위한 php 구문 입니다.

2016-04-01 (금) 00:47:34 4,088
Copy
<?phpini_set("display_errors",1);include_once $_SERVER['DOCUMENT_ROOT']."/lib/db.php";$seq=$_GET['seq'];$sql = "select    P.seq,p_value,P.ins_value,s_value,n_value,   ,(SELECT retval from inspection where seq=P.seq AND ins_keydata='data' group by seq order by seq) retval   from product P";$rs = mysql_query($sql); ?>

retval의 컬럼은 3가지 입니다.

seq는P.seq와 대칭됩니다.

ins_keydata 값이 'data'인 컬럼이 3개라는 이야기 입니다.

근데 하나씩 밖에 출력이 안되고 있습니다.

seq =1 ins_keydata='data' retval=hahaha

seq=1 ins_keydata='data' retval=hohoho

seq=1 ins_keydata=data' retval=hehehe

이렇게 나와야 하는데.. hahaha만 출력 되고 있습니다..

Copy
while($row = mysql_fetch_array($rs)){   $arr[$index]['retval'] = $row['retval'];$index++;}

이렇게 한번 돌리고..

Copy
for($i=0;$i<count($arr);$i++){$retval = $arr[$i]['retval'];<tr><td><?=$retval?></td></tr><?}?>

이렇게 돌리는데 값이 1컬럼 밖에 안나오네요ㅠㅠ 

답변 3개

채택된 답변
+20 포인트
2016-04-01 (금) 13:19:05
Copy
while($row = mysql_fetch_array($result)) { $arr[]['retval'] = $row['retval'];}

한후

Copy
<? foreach($arr as $k => $v) { ?> <tr><td><?=$v['retval']?></td></tr> <? } ?>

이나

Copy
<? for($i=0;$i<count($arr);$i++) { ?> <tr><td><?=$arr[$i]['retval']?></td></tr> <? } ?>

이런 식으로 하면 되지 않을까요?

2016-04-01 (금) 10:35:44

두 테이블 구조 중에서 설명에 나온 칼럼이랑 값을 간략하게라도 올려 주시는 게 좋을 것 같네요. 

$sql문을 mysql 상에서 돌리면 데이타가 3개로 나오나요?

쿼리문을 확인해보셔야될것 같은데요

답변을 작성하려면 로그인이 필요합니다.