[G5] 게시글 일정 시간 지난후 자동 삭제 > 기술자료 | 해피정닷컴

[G5] 게시글 일정 시간 지난후 자동 삭제 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 게시글 일정 시간 지난후 자동 삭제 > 기술자료

그누보드 [G5] 게시글 일정 시간 지난후 자동 삭제

페이지 정보


본문

본 팁은 테스트하지 않은 내용이므로 적용시 주의가 필요합니다.

그누보드5 / extend / daypass_del.php  를 생성하고 그속에 내용을 추가

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 특정게시판에 적용하고 싶을때  Start
$ttable = array('게시판1', '게시판2', '게시판3');
foreach($ttable as $t) {
    $tbo_table = $t;
// 특정게시판에 적용하고 싶을때  End

/*
// 전체게시판에 적용하고 싶을때  Start
$sql = "select * from `{$g5['board_table']}` order by bo_table asc ";
$result = sql_query($sql);
while($data = sql_fetch_array($result)) {
    $tbo_table = $data["bo_table"];
// 전체게시판에 적용하고 싶을때  End
*/
    
    sql_query(" delete from `{$g5['write_prefix']}{$tbo_table}` where wr_datetime < date_add(now(), interval -1 day) ");
    sql_query(" delete from `{$g5['board_new_table']}` where bn_datetime < date_add(now(), interval -1 day) and bo_table = '{$tbo_table}' ");
    
    // 게시판의 글 수
    $sql = " select count(*) as cnt from `{$g5['write_prefix']}{$tbo_table}` where wr_is_comment = 0 ";
    $row = sql_fetch($sql);
    $bo_count_write = $row['cnt'];
    
    // 게시판의 코멘트 수
    $sql = " select count(*) as cnt from `{$g5['write_prefix']}{$tbo_table}` where wr_is_comment = 1 ";
    $row = sql_fetch($sql);
    $bo_count_comment = $row['cnt'];    

    if (isset($_POST['proc_count'])) {
        // 원글을 얻습니다.
        //$sql = " select wr_id from `{$g5['write_prefix']}{$tbo_table}` where wr_is_comment = 0 ";
        $sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from `{$g5['write_prefix']}{$tbo_table}` a, {$g5['write_prefix']}{$tbo_table} b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
        $result = sql_query($sql);
        for ($i=0; $row=sql_fetch_array($result); $i++) {
            /*
            // 코멘트수를 얻습니다.
            $sql2 = " select count(*) as cnt from `{$g5['write_prefix']}{$tbo_table}` where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
            $row2 = sql_fetch($sql2);
            */
            
            sql_query(" update `{$g5['write_prefix']}{$tbo_table}` set wr_comment = '{$row['cnt']}' where wr_id = '{$row['wr_id']}' ");
        }
    }
    
    // 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
    $bo_notice = "";
    $tmp_notice = "";
    if ($board['bo_notice']) {
        $tmp_array = explode(",", $board['bo_notice']);
        for ($i=0; $i<count($tmp_array); $i++) {
            $tmp_wr_id = trim($tmp_array[$i]);
            $row = sql_fetch(" select count(*) as cnt from `{$g5['write_prefix']}{$tbo_table}` where wr_id = '{$tmp_wr_id}' ");
            if ($row['cnt']) {
                $bo_notice .= $tmp_notice . $tmp_wr_id;
                $tmp_notice = ",";
            }
        }
    }
    $sql = " update `{$g5['board_table']}` set ";
    if ($bo_notice) $sql .= " bo_notice = '{$bo_notice}', ";
    $sql .= " bo_count_write = '{$bo_count_write}', ";
    $sql .= " bo_count_comment = '{$bo_count_comment}' ";
    $sql .= " where bo_table = '{$tbo_table}' ";
    sql_query($sql);
}


참고자료
https://sir.kr/qa/149890

댓글목록

profile_image

효과2님의 댓글

효과2 이름으로 검색 작성일

이거 꼭필요한 기능 같은데
정상적 으로 완전히 삭제되는거 맞는지요 ?

예를들어 게시물이 5개가 잇다면
삭제는 됩니다
그런데 정상적 으로 완전하게 삭제가 되엇다면
새로운 글을 쓸때 게시물 번호가 1번이 되어야 하는데
게시물번호는 6번이 됩니다

그렇다면 게시판 에서 보이지는 않지만
5번까지의 게시물은 어딘가에
여전히 남아 잇는거 아닌지요??

profile_image

관리자1님의 댓글의 댓글

관리자1 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

게시판 관리자  >  카운트 조정  >  체크  >  확인
이렇게 하면 어떤지 확인해보시겠어요?
이렇게 해서 글번호가 재설정되면 그것에 대한 추가 로직을 구성해야겠네요

profile_image

효과2님의 댓글의 댓글

효과2 이름으로 검색 작성일

그렇게 하니까 게시물번호 됩니다 ㅎㅎ

profile_image

효과2님의 댓글의 댓글

효과2 이름으로 검색 작성일

님 혹시 추가로직 완료 되엇다면 소스와 적용방법좀 부탁 드려도 될까요

profile_image

효과2님의 댓글

효과2 이름으로 검색 작성일

이렇게 좋은 엄청난 물건을
공유해 주셔서 정말 감사 합니다
감사 하다는 말 수백번 해도
모자른듯 합니다
정말 감사 합니다


Total 2,641건 25 페이지
  • RSS
기술자료 목록
2161
일반   9119  2018-01-02 15:45  
2160
PHP   10354  2017-12-27 18:57  
2159
ClassicASP   11699  2017-12-27 18:00  
2158
Search   14202  2017-12-22 10:05 ~ 2018-02-27 14:55  
2157
MSSQL   9730  2017-12-21 09:25 ~ 2017-12-21 09:27  
열람
그누보드   32788  2017-12-21 07:47 ~ 2023-01-25 12:51  
2155
Search   10825  2017-12-20 18:29 ~ 2018-01-08 15:24  
2154
Search   36124  2017-12-20 13:08 ~ 2024-10-14 20:46  
2153
도메인   11231  2017-12-19 18:41 ~ 2017-12-19 18:44  
2152
HTML   10374  2017-12-18 22:36  
2151
일반   9667  2017-12-14 09:26 ~ 2017-12-15 06:00  
2150
그누보드   12222  2017-12-13 06:32 ~ 2019-01-09 17:48  
2149
그누보드   9767  2017-12-12 13:35  
2148
그누보드   9170  2017-12-12 13:35  
2147
그누보드   12620  2017-12-12 01:13 ~ 2022-04-19 15:18  
2146
그누보드   18759  2017-12-11 11:13 ~ 2017-12-11 11:17  
2145
MSSQL   13181  2017-12-07 06:35  
2144
MSSQL   9129  2017-12-05 23:56 ~ 2017-12-05 23:58  
2143
그누보드   9112  2017-12-05 16:30 ~ 2017-12-27 18:39  
2142
MSSQL   22729  2017-12-04 09:08 ~ 2020-06-06 09:59  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.