최근게시물 베이스로 내글, 내 댓글을 구현하는 방법 질문드릴께요 채택완료
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 테이블 삭제코드도 추가해 주어야 합니다. 이부분에 대한 검토를 다시 해보셧으면 합니다.
댓글을 작성하려면 로그인이 필요합니다.
새게시물은 db_optimizer 에서 설정한 날짜 이전꺼는 삭제합니다.
그래서 new.php 에 날짜는 없는걸겁니다.
그렇게 구현하실려면 쿼리에서 날짜를 넣어주셔야 할겁니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
new.php 에서만 14일 안에 작성된 게시물만 가져올 수는 없을까요?
where 절 다음에
$sql_common .= "BETWEEN DATE_ADD(NOW(),INTERVAL -2 WEEK) AND NOW()";
이렇게 써주면 아예 게시물을 못가져오네요;
아.. BETWEEN 앞에 and를 붙여야 하는군요;