특정시간되면 지정한 테이블 게시글 전체삭제.

특정시간되면 지정한 테이블 게시글 전체삭제.

QA

특정시간되면 지정한 테이블 게시글 전체삭제.

본문

AM 12:00 가되면 특정한 테이블에있는 게시글을 모두삭제하고싶습니다,

어떻게해야 될까요 ?

이 질문에 댓글 쓰기 :

답변 5

구지 특정시간되면 할 필요가 있나요?

간혹 AM 12시에 접속한 사람이 없다 하더라도  

12시 이후의 시간대에서 최초로 사이트에 접속한 사람에 의해 조정되는 기능은 이미 그누보드5에는 있습니다

그러니 자동으로 실행하고 머 이런건 필요 없을것 같습니다

어차피 AM 12시에 자동 실행하는거나 am 12 시 이후 최초로 접속한 사람이 있다면 그누보드5에서 자동 db정리되는 거나 그게 그거인듯합니다

대신 추가 적인 기능을 넣으셔야 겠지요

보들이윤 님이 말한 기능이 그누보드5기능입니다 

서버를 제어하실 수 있다면 스케줄러를 이용하시면 됩니다.

 

구글에서 mysql 스케줄러 검색하면 주우우욱 나옵니당~

특정시간이되면 지정한 테이블 게시글 전체삭제

이부분을 저같은 경우에는 게시판 속성자체에 해놓진 않았지만

해당게시판을 쿼리에 직업넣어서 일정시간이후에 해당글의 내용이 바뀌게 사용중입니다.

응용한다면 게시글의 이동이나 자동삭제가 가능하게 할수있을것 같습니다.

 

 

파일명 test.php 경로>www/bbs/

www/common.php 에

// 일정 기간이 지난 DB 데이터 삭제 및 최적화

include_once(G5_BBS_PATH.'/db_table.optimize.php');

이런부분이 있는데 응용하여

// 일정 기간이 지난 DB 데이터 삭제 및 최적화

include_once(G5_BBS_PATH.'/db_table.optimize.php'); 아랫줄에 인클루드 하였습니다.

include_once(G5_BBS_PATH.'/test.php'); 

 

 

 

 

<?php

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

 

// 최고관리자일 때만 실행

if($config['cf_admin'] != $member['mb_id'] || $is_admin != 'super')

    return;

 

// 확인 할 것 --

 

$sql = "update 특정게시판명 set wr_1 = 'Y' where wr_1 = 'N' and 'wr_2' < '".G5_TIME_YMD."'";

 

$result = sql_query($sql);

?>

 

이렇게 하나 만들어 놓은것이 있는데요

어느페이지를 보고있더라고 쿼리문이 돌아가도록 만들었습니다.

저같은 경우에는 wr_1이 N(완료전) wr_1이 Y(완료)로 바뀌게 했는데요

wr_2에는 값이 2016-04-02 이런식으로 날짜를 넣었습니다

제가 wr_2에 넣은 날짜가 현재 시간보다 작다면 wr_1의 값을 바꾸어라고

업데이트문을 실행한것인데요

 

도움이 되실진 모르겠지만 응용하시면 해당글을 비밀글로 이동할수도 잇으리라 생각됩니다.

제가 G5_TIME_YMD 현재 시간으로 비교를하여 해당글의 value의 값을 바꾼것처럼

G5_TIME_YMD대신에 wr_2날짜의 + 3일을 조건으로 준다면 

값을 바꾸는것말고 삭제를 한다는것도 가능할것같습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,956 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT