[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 460건 7 페이지
  • RSS
기술자료 목록
열람
그누보드   34390  2017-12-21 07:47 ~ 2023-01-25 12:51  
339
그누보드   12457  2017-12-13 06:32 ~ 2019-01-09 17:48  
338
그누보드   9961  2017-12-12 13:35  
337
그누보드   9307  2017-12-12 13:35  
336
그누보드   12771  2017-12-12 01:13 ~ 2022-04-19 15:18  
335
그누보드   18961  2017-12-11 11:13 ~ 2017-12-11 11:17  
334
그누보드   9288  2017-12-05 16:30 ~ 2017-12-27 18:39  
333
그누보드   12072  2017-11-30 06:43 ~ 2022-02-17 08:32  
332
그누보드   11598  2017-11-17 12:47 ~ 2017-11-20 05:00  
331
그누보드   10898  2017-11-16 01:42 ~ 2018-07-20 15:03  
330
그누보드   10005  2017-11-14 18:45  
329
그누보드   10421  2017-11-13 12:42 ~ 2018-03-07 04:47  
328
그누보드   12519  2017-11-11 22:39 ~ 2018-04-09 23:57  
327
그누보드   9254  2017-10-30 18:22 ~ 2022-04-21 02:46  
326
그누보드   13466  2017-10-22 03:28 ~ 2022-04-15 19:50  
325
그누보드   12915  2017-10-21 09:33 ~ 2018-01-18 17:33  
324
그누보드   12836  2017-10-10 15:50  
323
그누보드   10864  2017-10-10 13:55  
322
그누보드   10574  2017-09-29 21:04 ~ 2017-09-30 00:00  
321
그누보드   14830  2017-09-28 14:22 ~ 2022-04-15 19:48  

검색

해피정닷컴 정보

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

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