알짜게시판

[그누보드] 새 글 정리하기

문제 상황

DB에서 직접 게시판 테이블을 삭제한 경우, 새 글 테이블($g5['board_new_table']) 에 기존 게시판 정보가 남아 있어 충돌이 발생합니다.
이 때문에 새 글 보기에서 오류가 발생하거나 잘못된 데이터가 출력될 수 있습니다.


해결 방법

불필요하게 남아 있는 board_new_table 레코드를 정리해 주어야 합니다.
아래 PHP 스크립트를 생성해 실행하면, 존재하지 않는 게시글 정보를 자동으로 삭제할 수 있습니다.

<?
    include 'common.php';

    $qry = " select a.*, b.bo_subject, b.bo_mobile_subject 
             from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c 
             where a.bo_table = b.bo_table 
             and b.gr_id = c.gr_id 
             order by a.bn_id desc ";
    $result = sql_query($qry);

    for ($i=0; $row=sql_fetch_array($result); $i++) {
        $tmp_write_table = $g5['write_prefix'].$row['bo_table'];

        $row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_parent']}' ");
        if(!$row2) {
            sql_query(" delete from {$g5['board_new_table']} where bn_id = '{$row['bn_id']}' ");
        }
    }
?>

동작 방식

  1. board_new_table 의 모든 레코드를 불러옴
  2. 각 게시글이 실제 write_xxx 테이블에 존재하는지 확인
  3. 존재하지 않는 경우 board_new_table 에서 해당 레코드를 삭제

주의 사항

  • 스크립트 실행 전 DB 백업 필수
  • common.php 경로는 실제 설치된 그누보드 환경에 맞게 수정 필요
  • 스크립트 실행 후에는 삭제된 게시판 관련 새 글 정보가 정상적으로 정리됨

이 스크립트를 통해 board_new_table 과 실제 게시판 테이블을 동기화하면, 게시판 테이블 삭제로 인한 새 글 보기 충돌 문제를 해결할 수 있습니다.

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
[윈도우] Chrome 및 Edge를 TLS 1.2 모드로 실행 29,457 08-30
[윈도우] 브라우저 환경설정 추출 120,801 06-18
[윈도우] 네트워크 탐지 114,052 12-31
[델파이] TrayIcon 이 흐릿하게 보이는 버그? 수정 127,990 12-12
[델파이] 실행 중인 프로세스가 활성 창인지 확인하는 함수 145,305 11-02
[델파이] 메세지 다이어그램(Message Dialog) 에 체크박스(CheckBox) 추가 132,218 10-30
[그누보드] 부트스트랩 테마 예제로 사용중인 main.php 115,541 10-21
[그누보드] 유튜브 스킨 74,890 10-14
[윈도우] TLS 연결 끊김 해결 방법 - Kyber 비활성화 235,693 10-12
[윈도우] WinDivert 사용중인 어플리케이션 검색 45,299 09-12
[워드프레스] 답글 남기기 메시지 변경 42,766 09-05
[윈도우] 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그램 179,228 05-18
[워드프레스] cdn.jsdelivr.net 에서 ssl 인증서 오류 문제 102,189 05-02
[그누보드] cdn.jsdelivr.net 에서 ssl 인증서 오류 문제 97,684 05-02
[PHP] Porto 테마에서 포스팅만 Loading Overlay 58,377 03-08
[그누보드] 아이디 대신 이메일로 회원 가입하기 89,928 02-02
[시크릿DNS] Kaspersky 백신 사용시 DNS 암호화 관련 3 99,359 01-04
[칼무리] 영역화면 크기 오류인 경우 122,228 12-12
HTTPS/DNS 차단 쉽게 이해하기 84,984 08-16
ChangeDNS - DNS 서버를 손쉽게 변경합니다. 87,909 08-13
[그누보드] 사이드바 만들기 106,173 05-04
[델파이] 파일 포맷 알아내기 51,572 09-08
[PHP] 파일 포맷 알아내기 45,745 08-23
[그누보드] 웹폰트 적용하기 46,640 08-13
[그누보드] CKEditor 5 플러그인 108,273 08-11
[시크릿DNS] 프록시 혼합 사용 예제 2 547,532 08-07
[리눅스] 웹서버 상태 확인 후 자동 재시작 쉘 스크립트 41,358 02-28
WinDivert 1753 에러 발생시 41,174 12-20
WinDivert 서비스 종료 50,146 02-08
[윈도우] 윈도우 서버 2016 IIS 중지 9,162 01-29
[그누보드] 새 글 정리하기 4,216 01-28
목록