각 게시판의 24시간 이내 새로운 글 숫자 표시하기(두 가지 방법) > 그누보드5 팁자료실

그누보드5 팁자료실

각 게시판의 24시간 이내 새로운 글 숫자 표시하기(두 가지 방법) 정보

각 게시판의 24시간 이내 새로운 글 숫자 표시하기(두 가지 방법)

본문

* 메뉴부분에서 오늘 새글 표시하기 → https://sir.kr/g4_tiptech/1279 를 참조하였습니다.
rang2ya님의 답변을 조금 수정하여 그누보드5에서 적용하니 잘 되고 있습니다.

모든 분들 추석연휴 잘 보내시고 고향 길 잘 다녀오십시오~^^)

1. 다음과 같은 함수를 필요한 곳(상단 등) 넣으시고
<?php
//24시간 이내의 글 수 알아내기
function new_count($table_id){
// 오늘을 불러옵니다.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));

// 여기는 오늘과 글쓴 날짜를 비교합니다.
$tmp_write_table = G5_TABLE_PREFIX."write_".$table_id;  // 해피정님 제안코드로 수정
//$sql2 = "select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'"; // 댓글 포함
$sql2 = "select wr_datetime from $tmp_write_table where wr_datetime >= '$intime' and wr_is_comment=0"; // 댓글 제외

// 새로운 글이 몇 개 있는지 확인합니다.
$result2 = sql_query($sql2);
$total_count = mysql_num_rows($result2);
// $total_count = sql_num_rows($result2); // 그누보드 최신 버전에서는 이것으로 사용하세요~

if ($total_count > 0) {
$str_cnt .= " <font style='font-weight:normal;font-size:12px;color:blue';>(".$total_count.")</font>";
return $str_cnt;
}
else {
$str_cnt .= "";
return $str_cnt;
}
}
?>

그리고 다음 구문을 원하시는 곳(수동메뉴 옆 또는 head.php 등 필요한 곳) 옆에 붙혀 주십시오~
예를 들어 자유게시판 이라면
<?php echo new_count("free"); ?>

-----------------------------------------------------------------------------------------

2. 슈와이님이 제신하신 코드로서 더 좋은 것 같습니다.
하나의 게시판을 사용하거나 두 게시판을 합할 수도 있고~^^)

다음과 같은 함수를 필요한 곳(상단 등) 넣으시고

<?php
//24시간 이내의 글 수 알아내기
function new_count(){
    $cnt = 0;
    foreach (func_get_args() as $table_id) {       
        // 여기는 오늘과 글쓴 날짜를 비교합니다.
        $tmp_write_table = G5_TABLE_PREFIX."write_".$table_id;  // 해피정님 제안코드로 수정
        $row = sql_fetch(" select count(*) cnt from $tmp_write_table where wr_datetime >= date_add(now(), interval -1000 day) and wr_is_comment=0 "); // 댓글 제외
        $cnt += $row['cnt'];
    }
    return $cnt ? " <font style='font-weight:normal;font-size:12px;color:blue';>(".$cnt.")</font>" : '';
}
echo new_count('free', 'qna');
?>

그리고 다음 구문을 원하시는 곳(수동메뉴 옆 또는 head.php 등 필요한 곳) 옆에 붙혀 주십시오~
예를 들어 자유게시판 한 개만 사용하신다면
<?php echo new_count('free', ''); ?>

예를 들어 자유게시판과 질문답변의 합을 구하신다면
<?php echo new_count('free', 'qna'); ?>
추천
2

댓글 9개

디비 생성시 g5_ 가 아닌 다른 것을 사용하는 경우를 대비해서
$tmp_write_table .= "g5_write_$table_id";  내용을
$tmp_write_table = G5_TABLE_PREFIX."write_".$table_id;  로 변경하는게 좋겠습니다

$total_count = mysql_num_rows($result2);  를
$total_count = sql_num_rows($result2);  로 변경안하면 그누보드 최신버전은 오류납니다.
전체 2,427 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT