알짜게시판

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

문제 상황

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 과 실제 게시판 테이블을 동기화하면, 게시판 테이블 삭제로 인한 새 글 보기 충돌 문제를 해결할 수 있습니다.

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

제목 글쓴이 조회 날짜
[리눅스] .htaccess 를 이용해서 https 이동하기 45,561 08-31
[PHP] Imagek 를 이용한 썸네일 생성 45,970 08-26
[PHP] 파일 포맷 알아내기 45,734 08-23
[그누보드] 1364 : Field 'xxxxx' doesn't have a default value 45,446 08-20
[그누보드] 웹폰트 적용하기 46,620 08-13
[그누보드] CKEditor 5 플러그인 108,238 08-11
[리눅스] 윈도우 프로그램 실행 (centos7, wine 7.0) 45,334 08-09
[시크릿DNS] 프록시 혼합 사용 예제 2 543,543 08-07
[윈도우] IPv6 켜기, 끄기 45,576 08-03
[그누보드] 회원 가입일 기준으로 이용기간 정하기 41,353 07-28
[그누보드] sql_fetch, sql_query 안쓰고 직접 mysql 사용하기 40,981 07-24
[리눅스] 웹서버 상태 확인 후 자동 재시작 쉘 스크립트 41,347 02-28
WinDivert 1753 에러 발생시 41,163 12-20
[PHP] PHP 수정시 적용이 안되는 경우 해결 (opcache 중지) 35,612 03-31
[맥OS] 마우스 휠 스크롤 방향 윈도우와 일치시키는 방법 26,281 02-28
[Ruby] 윈도우에서 pod install 실행시 UTF-8 오류 27,184 02-28
[Ruby] Could not open library 'libcurl' 25,464 02-28
WinDivert 서비스 종료 50,115 02-08
[Android] Error type 3: Activity class {com.?.MainActivity} … 16,770 02-02
[윈도우] 윈도우 서버 2016 IIS 중지 9,151 01-29
[그누보드] 새 글 정리하기 4,202 01-28
WinDivert 오류코드 4,485 01-24
[PHP] Curl 을 이용하여 파일 다운로드 6,288 01-19
[PHP] Curl 을 이용하여 json 을 post 보내기 6,853 01-19
[그누보드] CKEditor 5 플러그인 10 7,181 01-14
칼무리 자동실행이 안 되는 원인를 찾았습니다 1 2,857 12-31
[PHP] 워드프레스와 그누보드 연동 모듈 3,861 12-27
설치하려고 하는 앱이 Microsoft에서 확인된 앱이 아닙니다. 16,762 10-11
[델파이] 권한상승 2,492 09-04
[델파이] Glyph 에 사용할 이미지 생성하기 1,899 09-02
[윈도우] WMI 복구하기 1 8,416 08-20