[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 459건 6 페이지
  • RSS
기술자료 목록
359
그누보드   8764  2018-05-08 12:21 ~ 2018-05-08 12:40  
358
그누보드   8995  2018-04-25 12:47 ~ 2018-04-25 12:54  
357
그누보드   9623  2018-04-24 03:11 ~ 2018-04-24 04:42  
356
그누보드   10391  2018-03-31 00:40 ~ 2023-11-22 23:11  
355
그누보드   10095  2018-03-24 06:53 ~ 2021-12-08 23:50  
354
그누보드   9785  2018-03-14 02:20 ~ 2022-04-21 02:48  
353
그누보드   9700  2018-03-02 01:45 ~ 2018-03-02 09:32  
352
그누보드   11180  2018-02-13 19:04 ~ 2018-02-13 22:44  
351
그누보드   11462  2018-02-03 00:39 ~ 2018-02-05 19:35  
350
그누보드   11377  2018-01-31 15:37 ~ 2018-03-07 06:06  
349
그누보드   11561  2018-01-25 00:04 ~ 2022-04-21 02:47  
348
그누보드   10182  2018-01-19 14:37  
347
그누보드   9885  2018-01-18 16:37 ~ 2018-01-18 17:05  
346
그누보드   13705  2018-01-16 22:29 ~ 2018-01-17 12:50  
345
그누보드   8935  2018-01-11 17:54 ~ 2018-01-18 09:29  
344
그누보드   10170  2018-01-06 10:33 ~ 2018-05-31 03:51  
343
그누보드   9437  2018-01-06 03:14 ~ 2020-02-12 04:29  
342
그누보드   12383  2018-01-03 10:01 ~ 2019-08-13 14:44  
341
그누보드   21725  2018-01-02 18:20 ~ 2022-05-10 19:00  
열람
그누보드   32786  2017-12-21 07:47 ~ 2023-01-25 12:51  

검색

해피정닷컴 정보

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

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