공지사항 모든 게시판 적용에 대해 질문드립니다.

공지사항 모든 게시판 적용에 대해 질문드립니다.

QA

공지사항 모든 게시판 적용에 대해 질문드립니다.

본문

그누보드 팁자료실에 있는 공지사항을 모든 게시판에 적용하는 소스코드를 적용했습니다.


// 공지 처리(추가)
$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이 됩니다. 혹시 이걸 어떻게 수정해야하는지 알 수 있을까요?

 

1954271219_1653972449.1429.jpg

이 질문에 댓글 쓰기 :

답변 3


위 코드로만 추측 하건데 아래 부분이 틀렸습니다
$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;

 

안녕하세요?
균이 님께서 지적하신 바가 맞는 것 같네요!
3번째 행에서 sql_fetch의 결과값이 없더라도 9번째 행에서 count가 1이 되는 문제가 있어서
이러한 문제가 발생하는 것으로 보이네요~


$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);


따라서 9번째 행을 다음과 같이 수정을 하거나 균이 님 댓글처럼 수정하면 됩니다 :)

[수정 전]

$board_notice_count = count($arr_notice);


[수정 후]

$board_notice['bo_notice'] ? $board_notice_count = count($arr_notice) : $board_notice_count = 0;


그럼 다들 편안한 밤 되세요  ^-^

음~ 공지사항 추가를 하실때는 모든 게시판에 추가되게 하셨나요?

모든 게시판에 추가를 하시고 삭제할때는 공지사항 게시판만 삭제하셔서 그런 것 같습니다.

공지사항 게시판에서 삭제할때 다른게시판에 추가된 공지글도 같이 지워주시면 되지않을까요?

아..이게 공지 부분을 공지 게시판에 있는 거를 가져와서 뿌려주게 되어있는건가보군요?
그런데 공지를 지워도 카운팅이 남아있는걸 보니 어디서 카운팅이 되는지 확인을 해봐야할 것 같습니다.
저 자유게시판 total1건 값이 어디서 1이되는지 봐야할 것 같아요

답변을 작성하시기 전에 로그인 해주세요.
전체 1,499
QA 내용 검색

회원로그인

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