채택완료

그룹최신글뽑으려는데 배열 반환값이 1입니다 ㅠㅠ

Copy
$list = array(); $gr_qr=""; //그룹안에 있는 테이블 모두가져오기$group = sql_query("select bo_table from g5_board where gr_id='".$gr_id."'");for ($i=0; $gr_row = sql_fetch_array($group); $i++) {	$gr_list[$i]=$gr_row[bo_table];}  //그룹에속한 테이블 모두에서 최신글 뽑을 쿼리문 만들기(UNION)/*for ($i=0; $i<count($gr_list); $i++) {	if($i==count($gr_list)-1){ $gr_qr.="select * from g5_write_".$gr_list[$i]." where wr_is_comment = 0 limit 5";  break;}	$gr_qr.="select * from g5_write_".$gr_list[$i]." union ";	}*/$gr_qr = "select * from g5_write_0101 union select * from g5_write_0102 union select * from g5_write_0103 union select * from g5_write_0104 union select * from g5_write_0105 where wr_is_comment = 0 limit 0, 5"; $i=0;$result = sql_query($gr_qr);while($row = sql_fetch_array($result)){	//$list[$i] = get_list($row, $gr_list[$i], $latest_skin_url, $subject_len);	$list[$i]=$row;	echo print_r($row)."<br />";	$i++;}

 

위에서는 제대로 뽑아왔는데 그룹에있는 테이블을 다 가져온 다음에

다시 쿼리문을 날리니까 

 

Array ( [1] => 1 ) 1 

 

요렇게 나옵니다.. 0번도아니고 1번배열에 1만 딱 들어가있는데 phpmyadmin 에서 sql 날려보면

5개가 제대로 나오거든요...

sql_fetch() 이걸로도 해봤는데 똑같이 나오고 이리저리 고쳐봐도 계속 1번배열에 1 이 딸랑 들어가있어서 ㅠㅠ 

 

보시고 어디부분이 틀린건지 알려주시면 정말 감사드리곘습ㄴㅣ다 ㅠㅠ 

 

 

|

답변 1개 / 댓글 7개

채택된 답변
+20 포인트

echo print_r($row)."<br />";

앞에 echo 지우세요. 

답변에 대한 댓글 7개

원래없었는데 이리저리 손보다 남았네요 저건 있으나 없으나 출력값 똑같습니다....ㅠㅠ
리턴값 자체가 1이예욧...ㅜㅜㅜㅜ
쿼리 안에 union이 들어가 있는 걸 지금에서야 봤네요.
sql_query()로 하게 되면 union은 안 먹힙니다.
mysql_query(), mysql_fetch_array() 함수로 하셔야 합니다.
$result = mysql_query($gr_qr);
while($row = mysql_fetch_array($result)){
$list[$i]=$row;
print_r($row);
$i++;
}

이렇게 쓰는거 맞나요? 해봤던건데, 아무것도 출력하지 않아서 .. union 대신 쓸수있는걸 찾고있어요.!!
답변 정말 감사합니다!!
네, 그렇게 하시면 되겠네요.
혹시 union 쓸수있도록 common.lib 파일 고치면 큰 문제가 생기나요...??
mysql~ 이거로는 왜인지 아무것도 안나와서 union 대신쓸수있는걸 검색해서 쿼리문을 작성해봤는데 또 아무것도안나와서요......
막은 거 푼다고 하더라도 딱히 문제가 될 건 없을 겁니다.
어차피 그걸 필터링으로 막은 것일 뿐이라서요.
헉 그렇군요! 정말감사합니다!!

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