테스트 사이트 - 개발 중인 베타 버전입니다

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

· 8년 전 · 6316 · 9
* 메뉴부분에서 오늘 새글 표시하기 → 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'); ?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 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); 로 변경안하면 그누보드 최신버전은 오류납니다.
감사합니다.
말씀하신 내용을 참조하여 수정하였습니다.
즐거운 추석 연휴 되십시오~^^)
좋은 정보 감사합니다 ^^
감사합니다.^^
네 감사합니다.
감사합니다!
새글 개수 감사합니다~
좋아요..잘쓰겠습니다.감사합니다.
정말 감사합니다

게시글 목록

번호 제목
23966
23963
23953
23949
23938
23935
23933
23928
23919
23918
23917
23910
23902
23901
23897
23894
23893
23891
23885
23872
23870
23862
23859
23853
23845
23838
23827
23819
23805
23801