질문입니다. 정보
질문입니다.본문
게시물에 기간을 넣어서 그기간이 끝나면 자동으로 삭제되도록 만들고싶은데요
어떻게해야하나요?!
아시는분은 답변부탁드립니다.
댓글 전체
정확한 답이 아닌 방향만 제시해 드리도록 하겠습니다.
게시판 스킨에서 글쓰기시에 여분필드에 기간을 입력하도록 하고, 시스템의 시간이 글작성시간과 여분필드에 입력한 기간의 합보다 크거나 같다면 삭제하도록 하면 되겠죠..
게시판 스킨에서 글쓰기시에 여분필드에 기간을 입력하도록 하고, 시스템의 시간이 글작성시간과 여분필드에 입력한 기간의 합보다 크거나 같다면 삭제하도록 하면 되겠죠..

아래의 코드를 참조 바랍니다.
참고사항: 게시판의 여분필드 wr_6 을 사용하므로 필요시 변경 하세요.
뷰스킨 상단에 적용
if ($view[wr_6]) {
$g4[time_ymd] = date("Ymd", $g4[server_time]);
$stoday = $g4[time_ymd];
if ($stoday >= $view[wr_6]) {
// 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다.
$sql = " select wr_id, mb_id, wr_is_comment from $write_table where wr_parent = '$view[wr_id]' order by wr_id ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
// 원글이라면
if (!$row[wr_is_comment])
{
// 원글 포인트 삭제
if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '쓰기'))
insert_point($row[mb_id], $board[bo_write_point] * (-1), "$board[bo_subject] $row[wr_id] 글삭제");
// 업로드된 파일이 있다면 파일삭제
$sql2 = " select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ";
$result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2))
@unlink("$g4[path]/data/file/$bo_table/$row2[bf_file]");
// 파일테이블 행 삭제
sql_query(" delete from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ");
$count_write++;
}
else
{
// 코멘트 포인트 삭제
if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '코멘트'))
insert_point($row[mb_id], $board[bo_comment_point] * (-1), "$board[bo_subject] {$view[wr_id]}-{$row[wr_id]} 코멘트삭제");
$count_comment++;
}
}
// 게시글 삭제
sql_query(" delete from $write_table where wr_parent = '$view[wr_id]' ");
// 최근게시물 삭제
sql_query(" delete from $g4[board_new_table] where bo_table = '$bo_table' and wr_parent = '$view[wr_id]' ");
// 스크랩 삭제
sql_query(" delete from $g4[scrap_table] where bo_table = '$bo_table' and wr_id = '$view[wr_id]' ");
");
// 글숫자 감소
if ($count_write > 0 || $count_comment > 0)
sql_query(" update $g4[board_table] set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' ");
$smsg = "글작성자가 지정한 자폭 날자가 되어\\n\\n이글의 자동 삭제를 실시 합니다.";
alert($smsg, "./board.php?bo_table=$bo_table");
}
}
=============================================================
글쓰기 파일의 적당한곳에 적용
<? if ($w =="") { ?>
<tr>
<td style='padding-left:20px; height:30px;'>· 자폭설정</td>
<td> <input class=ed type=text id=wr_6 name='wr_6' size=8 maxlength=10 numeric itemname='자폭실행일' value='<?=$write[wr_6]?>' title='옆의 달력 아이콘을 클릭하여 자폭일을 입력하세요.'>
<a href="javascript:win_calendar('wr_6', document.getElementById('wr_6').value, '');"><img src='<?=$board_skin_path?>/img/calendar.gif' border=0 align=absmiddle title='자폭일을 선택하세요'></a>
</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
참고사항: 게시판의 여분필드 wr_6 을 사용하므로 필요시 변경 하세요.
뷰스킨 상단에 적용
if ($view[wr_6]) {
$g4[time_ymd] = date("Ymd", $g4[server_time]);
$stoday = $g4[time_ymd];
if ($stoday >= $view[wr_6]) {
// 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다.
$sql = " select wr_id, mb_id, wr_is_comment from $write_table where wr_parent = '$view[wr_id]' order by wr_id ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
// 원글이라면
if (!$row[wr_is_comment])
{
// 원글 포인트 삭제
if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '쓰기'))
insert_point($row[mb_id], $board[bo_write_point] * (-1), "$board[bo_subject] $row[wr_id] 글삭제");
// 업로드된 파일이 있다면 파일삭제
$sql2 = " select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ";
$result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2))
@unlink("$g4[path]/data/file/$bo_table/$row2[bf_file]");
// 파일테이블 행 삭제
sql_query(" delete from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ");
$count_write++;
}
else
{
// 코멘트 포인트 삭제
if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '코멘트'))
insert_point($row[mb_id], $board[bo_comment_point] * (-1), "$board[bo_subject] {$view[wr_id]}-{$row[wr_id]} 코멘트삭제");
$count_comment++;
}
}
// 게시글 삭제
sql_query(" delete from $write_table where wr_parent = '$view[wr_id]' ");
// 최근게시물 삭제
sql_query(" delete from $g4[board_new_table] where bo_table = '$bo_table' and wr_parent = '$view[wr_id]' ");
// 스크랩 삭제
sql_query(" delete from $g4[scrap_table] where bo_table = '$bo_table' and wr_id = '$view[wr_id]' ");
");
// 글숫자 감소
if ($count_write > 0 || $count_comment > 0)
sql_query(" update $g4[board_table] set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' ");
$smsg = "글작성자가 지정한 자폭 날자가 되어\\n\\n이글의 자동 삭제를 실시 합니다.";
alert($smsg, "./board.php?bo_table=$bo_table");
}
}
=============================================================
글쓰기 파일의 적당한곳에 적용
<? if ($w =="") { ?>
<tr>
<td style='padding-left:20px; height:30px;'>· 자폭설정</td>
<td> <input class=ed type=text id=wr_6 name='wr_6' size=8 maxlength=10 numeric itemname='자폭실행일' value='<?=$write[wr_6]?>' title='옆의 달력 아이콘을 클릭하여 자폭일을 입력하세요.'>
<a href="javascript:win_calendar('wr_6', document.getElementById('wr_6').value, '');"><img src='<?=$board_skin_path?>/img/calendar.gif' border=0 align=absmiddle title='자폭일을 선택하세요'></a>
</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
글작성시 지정기간 지나면 자폭