그누보드 sql_query, sql_fetch 함수는 union이 안된다고 해서..수정이 필요하네요
본문
왕계란님이 답변을 달아주셨는데요
http://sir.kr/qa/152608 문의내용에 대한 내역입니다.
기존의 sql_fetch를 아래와 같이 변경
$row = mysql_query(mysql_fetch_array($sql));
$sql_common = " from ( g5_write_item07 ) ";
$sql_commonUnion = " from ( select wr_id, wr_datetime from g5_write_item07 union select wr_id, wr_datetime from g5_write_item08) x ";
//총 등록건수
$sql = " select count(*) as cnt {$sql_commonUnion} {$sql_search} {$sql_order} ";
//$row = sql_fetch($sql);
$row = mysql_query(mysql_fetch_array($sql));
$total_count = $row['cnt'];
===> sql_fetch는 union 안된다고 해서...
mysql_query, mysql_fetch_array로 변경을 했는데 아래 그림처럼 총 등록건수가 0입니다.
실제 db에서 쿼리를 하면,
mysql> select count(*) as cnt from (select wr_id, wr_datetime, wr_is_comment from g5_write_item07 union select wr_id, wr_datetime, wr_is_comment from g5_write_item08) x where wr_is_comment =0;
+-----+
| cnt |
+-----+
| 193 |
+-----+
1 row in set (0.00 sec)
//승인건수
$sqlReg = " select count(*) as cnt {$sql_common} {$sql_search} ";
$rowReg = sql_fetch($sqlReg);
$total_countReg = $rowReg['cnt'];
===> 정상적으로 쿼리 진행됨(원본그대로)
<div class="local_ov01 local_ov">
<?php echo $listall ?>
총 등록건수 <?php echo number_format($total_count) ?>개 | 승인건수 <?php echo number_format($total_countReg) ?>개
</div>
답변 3
쿼리질의를 먼저 하신후 fetch_arrray 하셔야 합니다.
$row = mysql_query(mysql_fetch_array($sql));
->
$row = mysql_fetch_array(mysql_query($sql));
아 순서를 제가 잘못 적었네요.
$query = mysql_query("~~");
$row = mysql_fetch_array($query);
이 순서가 맞습니다.
$row = mysql_query(mysql_fetch_array($sql));
이부분 손보세요
query 다음이 fetch 입니다.
괄호 안쪽 함수가 먼저 실행됩니다.