공지사항 모든 게시판 적용에 대해 질문드립니다. 채택완료
그누보드 팁자료실에 있는 공지사항을 모든 게시판에 적용하는 소스코드를 적용했습니다.
Copy
// 공지 처리(추가)
$board_notice_name='notice'; // 전체 공지를 줄 게시판명 (공지게시판을 따로 두어야함..)
$board_notice=sql_fetch(" select * from `g5_board` where `bo_table`='$board_notice_name' ");
if (!$sca && !$stx && $board['bo_table']!=$board_notice_name) {
$arr_notice = explode(',', trim($board_notice['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);
$total_count+=$board_notice_count;
for ($k=0; $k<$board_notice_count; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$row = sql_fetch(" select * from `g5_write_".$board_notice_name."` where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
$notice_array[] = 0;
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board_notice, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
$notice_count++;
if($notice_count >= $list_page_rows)
break;
}
}
// 공지 처리(원본)
if (!$sca && !$stx) {
......(후략)
그 후에 공지사항 게시판에서 공지 체크하고 글쓰기 한 후에 게시글을 삭제하면 아래 사진과 같이 공지사항 게시판은 페이지 건수가 0이 되는데 공지사항을 제외한 다른 게시판은 다 1이 됩니다. 혹시 이걸 어떻게 수정해야하는지 알 수 있을까요?

답변 3개
채택된 답변
+20 포인트
3년 전
Copy
위 코드로만 추측 하건데 아래 부분이 틀렸습니다
$board_notice_count = count($arr_notice);
$total_count+=$board_notice_count;
수정
if($arr_notice[0]) $board_notice_count = count($arr_notice); else $board_notice_count =0;
$total_count+=$board_notice_count;
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
Innisfree
3년 전
댓글을 작성하려면 로그인이 필요합니다.
3년 전
당장은
해당 게시판 관리 페이지"에 게시물 수? 조정
이런 것을 체크하면 확인 누르시면 숫자 어긋나는 것은 해결 될 겁니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
음~ 공지사항 추가를 하실때는 모든 게시판에 추가되게 하셨나요?
모든 게시판에 추가를 하시고 삭제할때는 공지사항 게시판만 삭제하셔서 그런 것 같습니다.
공지사항 게시판에서 삭제할때 다른게시판에 추가된 공지글도 같이 지워주시면 되지않을까요?
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
멋진난쟁이
3년 전
다른게시판에 추가된 공지글을 어떻게 지워야하나요? 다른 게시판에 있는 공지글을 게시판에서 삭제버튼 눌러서 삭제해도 계속 남아있어서요..
3년 전
아..이게 공지 부분을 공지 게시판에 있는 거를 가져와서 뿌려주게 되어있는건가보군요?
그런데 공지를 지워도 카운팅이 남아있는걸 보니 어디서 카운팅이 되는지 확인을 해봐야할 것 같습니다.
저 자유게시판 total1건 값이 어디서 1이되는지 봐야할 것 같아요
그런데 공지를 지워도 카운팅이 남아있는걸 보니 어디서 카운팅이 되는지 확인을 해봐야할 것 같습니다.
저 자유게시판 total1건 값이 어디서 1이되는지 봐야할 것 같아요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
균이 님께서 지적하신 바가 맞는 것 같네요!
3번째 행에서 sql_fetch의 결과값이 없더라도 9번째 행에서 count가 1이 되는 문제가 있어서
이러한 문제가 발생하는 것으로 보이네요~
[code]
$board_notice=sql_fetch(" select * from `g5_board` where `bo_table`='$board_notice_name' ");
$arr_notice = explode(',', trim($board_notice['bo_notice']));
$board_notice_count = count($arr_notice);
[/code]
따라서 9번째 행을 다음과 같이 수정을 하거나 균이 님 댓글처럼 수정하면 됩니다 :)
[수정 전]
[code]
$board_notice_count = count($arr_notice);
[/code]
[수정 후]
[code]
$board_notice['bo_notice'] ? $board_notice_count = count($arr_notice) : $board_notice_count = 0;
[/code]
그럼 다들 편안한 밤 되세요 ^-^