테스트 사이트 - 개발 중인 베타 버전입니다

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

거제미남 9년 전 조회 7,495

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

어떻게해야 될까요 ?

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트

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

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

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

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

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

감사합니다. 큰도움되었습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

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

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

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

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

 

 

파일명 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일을 조건으로 준다면 

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

p
9년 전

이벤트 스케줄러를 이용해보세요

 

http://linuxism.tistory.com/854">http://linuxism.tistory.com/854 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

거제미남
9년 전
메신져로 도움좀 받을수있을까요 , 네이트온 legendlh @ nate.com 입니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인