게시판 글 삭제시 원글을 삭제하면 답글도 삭제되어야 할까
보통 게시판들을 보면 원글이 있고 답글이 달려 있는 경우 원글을 삭제하면 답글은 지워지지 않고 남아 있게 되는데
어떤 것이 맞는 것인지는 모르겠지만.. 이번에 작업 중인 사이트에는 원글을 삭제하면 답글도 함께 삭제되는 것으로
방향을 잡고 작업을 진행했다. 질문글에 대한 답변이 거의 전부이기 때문에 이렇게 해도 문제가 없을 듯 했다.
그렇게 방향을 정하고 작업을 하다보니.. 문제가 보이기 시작했는데 그것은 답글에 첨부된 파일이 있을 경우였다는..
그래서 원글 삭제시 답글의 정보를 얻고 각 답글의 첨부파일 정보도 얻어서 함께 삭제가 되도도록 아래처럼 코딩.. ㅋ
if(!$row[wr_reply]) {
// 답글정보
$sql = ” select wr_id, wr_content from $g4[shop_board_table] where wr_id = ANY ( select wr_id from $g4[shop_board_table] where bo_id = ‘$bo_id’ and wr_parent = ‘-{$wr_id}’ and wr_reply <> ‘0’ ) “;
$rep = sql_query($sql);
for($k = 0; $reply = sql_fetch_array($rep); $k++) {
// 첨부파일삭제
$sql = ” select bf_no, bf_file from $g4[shop_board_file_table] where bo_id = ‘$bo_id’ and wr_id = ‘$reply[wr_id]’ order by bf_no asc “;
$result = sql_query($sql);
for($k = 0; $row1 = sql_fetch_array($result); $k++) {
$file = “$g4[data_path]/board/$bo_id/$row1[bf_file]”;
@unlink($file);
}
//————————————————————————
// HTML 내용에서 에디터에 올라간 이미지의 경로를 얻어 삭제함
//————————————————————————
$s = $reply[wr_content];
$img_file = Array();
while($s) {
$pos = strpos($s, “/data/cheditor4”);
$s = substr($s, $pos, strlen($s));
$pos = strpos($s, ‘”‘);
// 결과값
$file_path = substr($s, 0, $pos);
if (!$file_path) break;
$img_file[] = $file_path;
$s = substr($s, $pos, strlen($s));
}
for($j=0;$j<count($img_file);$j++) {
$f = $g4[path].$img_file[$j];
if (file_exists($f))
@unlink($f);
}
//————————————————————————
$sql = ” delete from $g4[shop_board_table] where bo_id = ‘$bo_id’ and wr_id = ‘$reply[wr_id]’ and wr_reply <> ‘0’ “;
@sql_query($sql);
}
}
테스트상으로는 제대로 되는 것 같은데.. 제대로 테스트를 하지 않았을 수도 있어서.. 뭘하든 확신이 없어서.. ^^;