$sql_img = " select wr_id, 'sub01_03' as table_no from g5_write_sub01_03 where wr_1='y' union all select wr_id, 'sub01_02' as table_no from g5_write_sub01_02 where wr_1='y' "; $result = sql_query($sql_img); $cnt = 0; while($row = sql_fetch_array($result)){ $row_id[$cnt] = $row['wr_id']; $table_no[$cnt] = $row['table_no']; $cnt++; }
제가봤을때는 이유없이 약 10개의 결과가 나와야합니다..
phpmyadmin에서 쿼리치면 제대로 나오는데.. 어디가 이상한건지 while문돌리면 안나오네요?
제눈에는 잘못된곳이 전혀 안모입니다 ㅠㅠㅠㅠ흑
답변 12개 / 댓글 9개
union all에서 구분하기 위해서 가상으로 값 부여하는 걸 깜빡했네요.
sql_query, sql_fetch_array 이 함수 말고 mysql_query, mysql_fetch_array 함수로 바꿔서 하시면 아마 나올 거 같네요.
그누보드에서 union all을 막았던 걸로 기억합니다.
답변에 대한 댓글 1개
ㅎㅎ sql_query 펑션에 // union의 사용을 허락하지 않습니다. 라고 써있네요
답변에 대한 댓글 1개
저도 이제야 함수 확인 했네요.
sql_query 함수에 union 구문을 막아 놨네요. 좋은 거 하나 배워 갑니다.
답변에 대한 댓글 1개
쿼리상에 문제가 없다면 이리 해보세요.
$sql_img = " select wr_id, 'sub01_03' as table_no from g5_write_sub01_03 where wr_1='y' union all select wr_id, 'sub01_02' as table_no from g5_write_sub01_02 where wr_1='y' "; $result = mysql_query($sql_img); $cnt=0;while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { $row_id[$cnt] = $row['wr_id'];$table_no[$cnt] = $row['table_no'];$cnt++; }
답변에 대한 댓글 2개
while문 위에 mysql_num_row($result) 찍어서 몇줄이 들어가 있는지 함 보시겠어요.
답변에 대한 댓글 1개
위 소스로는 결과 보여주는 부분이 없는데 혹시 어떻게 보여주는지요?
답변에 대한 댓글 1개
카운트를 찍어봐도 1번밖에 안돌아가구요..ㅠㅠ
union all 이 안될이유가 없는데 이상하네요..하아~

union all 안쓰고 개별로는 나오나요?
답변에 대한 댓글 1개
phpmyadmin에서 저 쿼리 그대로 치면 10개의 결과가 나옵니다.
쿼리문에는 문제가없습니다... 다른이유를 알려주시면 감사하겠습니다..
답변은 아니지만
'sub01_03' -> sub01_03
'sub01_02' -> sub01_02
일단 이건 이렇게 수정해야 할거 같아요
답변에 대한 댓글 1개
'sub01_02' as table_no, 'sub01_03' as table_no 는 새로운컬럼을 임의적으로 만들어준값입니다.
답변을 작성하려면 로그인이 필요합니다.