최근게시물 베이스로 내글, 내 댓글을 구현하는 방법 질문드릴께요 채택완료
new.php 와
new_delete.php 로
내 글과 내 댓글 보기를 구현했을때,
관리자 페이지에서
최근 게시물 삭제 날짜가 14일이면.
14일 이전에 작성한 내 글과 내 댓글은 나오지 않는건가요?
그렇다면
최근 게시물 삭제 날짜를 3650으로 해놓고
실제
new.php 에서만 14일로 치환해줄수 있나요?
new.php를 봐도 날짜 받는 변수를 못찾겠습니다;
답변 2개
[새글] 삭제 처리는 /bbs/db_table.optimize.php 에서 처리됩니다. (common.php 에서 관리자가 로그인한 경우에만 실행됩니다.)
// 설정일이 지난 최근게시물 삭제 if($config['cf_new_del'] > 0) { $sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' "; sql_query($sql); sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` "); }
서로 같은 테이블을 쓴다면 같은 기간으로 처리가 될 테지만, 다른 테이블을 쓴다면, 따로 삭제는 되지 않을 가능성이 큽니다.
특정기간으로 설정하여 삭제가 되게끔 하고 싶다면, 위 코드를 응용하여 추가해주면 될 듯 합니다.
답변에 대한 댓글 3개
if($config['cf_new_del'] > 0) {
$tmp_new_del = "14";
$sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$tmp_new_del]}' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
}
[/code]
과 같이 해주면 될 듯 합니다.
$g5['board_new_table'] 은 보통의 경우 g5_board_new 입니다.
새로 만든 db 정보가 다른 테이블이라면.. 기존의 파일에서는 삭제하는 부분이 없기 때문에,
영원히 삭제되지 않습니다.
관리자 설정의 설정일 cf_new_del 에 따라 삭제되게 하려면, 위 파일에 해당 db 테이블 삭제코드도 추가해 주어야 합니다. 이부분에 대한 검토를 다시 해보셧으면 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
new.php 에서만 14일 안에 작성된 게시물만 가져올 수는 없을까요?
where 절 다음에
$sql_common .= "BETWEEN DATE_ADD(NOW(),INTERVAL -2 WEEK) AND NOW()";
이렇게 써주면 아예 게시물을 못가져오네요;
아.. BETWEEN 앞에 and를 붙여야 하는군요;