공지사항 모든 게시판 적용에 대해 질문드립니다. 채택완료
멋진난쟁이
3년 전
조회 1,455
그누보드 팁자료실에 있는 공지사항을 모든 게시판에 적용하는 소스코드를 적용했습니다.
// 공지 처리(추가) $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년 전
</p>
<p>위 코드로만 추측 하건데 아래 부분이 틀렸습니다</p>
<p><span class="token variable">$board_notice_count</span> <span class="token operator">=</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$arr_notice</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$total_count</span><span class="token operator">+</span><span class="token operator">=</span><span class="token variable">$board_notice_count</span><span class="token punctuation">;</span></p>
<p>수정</p>
<p><span class="token variable">if($arr_notice[0]) $board_notice_count</span> <span class="token operator">=</span> <span class="token function">count</span><span class="token punctuation">(</span><span class="token variable">$arr_notice</span><span class="token punctuation">); else </span><span class="token variable">$board_notice_count =0;</span>
<span class="token variable">$total_count</span><span class="token operator">+</span><span class="token operator">=</span><span class="token variable">$board_notice_count</span><span class="token punctuation">;</span></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
I
Innisfree
3년 전
�
멋진난쟁이
3년 전
균이님과 innisfree님 두분다 감사합니다!! 엄청 잘되네요!
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
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]
그럼 다들 편안한 밤 되세요 ^-^