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

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

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

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168