{@
$oDB = &DB::getInstance();
$module_info = $oModuleModel->getModuleInfoByMid($val2['url']);
$query = $oDB->_query("
SELECT COUNT(*)
FROM xe_documents
WHERE module_srl = $module_info->module_srl
AND regdate < (SELECT concat(curdate()+0, '235959'))
AND regdate > (SELECT concat(date_add(curdate(), interval -1 DAY)+0, '000000'));
");
$result = $oDB->_fetch($query);
}
레이아웃에서 메뉴를 출력할 때 새글 개수를 카운트해서 출력해주려고 작성한 소스입니다.
어디가 문제인지 모르겠지만 정상적으로 출력되지 않습니다....
만약 소스가 문제가 없다면 {$result} 그대로 출력해주면 안 되는 건지요...?
도움 부탁드립니다 ㅠㅠ
댓글 6
이거 해결하면 오늘 할일은 다 했네요 ㅠㅠ
&DB에서 &를 빼보세요. 전혀 필요하지도 않을뿐더러 템플릿에서는 오히려 에러의 원인이 됩니다.
쿼리문을 따로 변수에 할당해서 찍어보세요. $module_info->module_srl이 제대로 들어갔는지 확인해야 합니다. 템플릿에서 사용하는 변수는 코어에서 엉뚱하게 바꿔버리기도 하거든요.
여전히 안된다면 $query와 $result를 각각 var_dump로 찍어보세요. {var_dump($query, $result)} 둘다 뭔가 내용이 들어가 있어야 합니다.
모든 디버깅은 각 단계에서 사용하는 변수에 제대로 값이 들어가 있는지 찍어보는 것에서 시작됩니다.
object(stdClass)#1947 (1) {
["COUNT(*)"]=>
int(1)
다만 위와 같이 표현되어 있는데 어떻게 해야 1이라는 값을 출력할 수 있을까요?
SELECT COUNT(*) AS count 라고 쓰시면 {$result->count}로 출력하실 수 있을 거예요.