헐랭이님 팁 댓글 일괄삭제 정보
헐랭이님 팁 댓글 일괄삭제본문
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=10610
위 링크 아래 소스는 헐랭이님의 "이글에 포함된 코멘트 일괄삭제" 입니다.
그런데 모든 코멘트를 다 삭제하지 않고 아이디를 지정해서 삭제하고 싶습니다.
어디에 어떻게 수정해야 하는지 소스 좀 부탁드립니다 (^^)(__)
sql_query(" delete from $write_table where mb_id='해당 아이디' and wr_comment >0 ");
이걸 붙이면 될까요? 뭘 삭제해야 하며....
<?
//해당글에 딸린 코멘트 일괄 삭제 시스템 by 헐랭이
$kototal = $view[wr_comment];//이글의 코멘트 총갯수
if ($admin_comment_del_ok == "comment_del_ok") {
if ($is_admin !="super") {
alert("최고관리자가 아닙니다.");
}
if (!$kototal) {
alert("등록된 코멘트가 없습니다.");
}
// 원글에 포함된 코멘트를 전부삭제
sql_query(" delete from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 ");
// 버전별 코드분리 시작
// 아래의 코드는 버전에 따라서 다르므로 환경에 맞는 코드를 사용 하세요.
//그누보드 4.09.00 이전 버전 사용자용
// 원글에 코멘트 숫자를 감소한다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal where wr_id = '$wr_id' ");
// 그누보드 4.09.00 이후 버전 사용자용
// 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다.
$sqlst = " select max(wr_datetime) as wr_last from $write_table where wr_parent = '$wr_id' ";
$rowst = sql_fetch($sqlst);
// 원글에 코멘트 숫자를 감소 하면서 최신 날자를 되돌린다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal, wr_last = '$rowst[wr_last]' where wr_id = '$wr_id' ");
// 버전별 코드 분리 끝
// 이게시판 전체 갯수에서 삭제된 코멘트의 갯수만큼 감소
sql_query(" update $g4[board_table] set bo_count_comment = bo_count_comment - $kototal where bo_table = '$bo_table' ");
// 새글에 등록이 되었다면 전부삭제
sql_query(" delete from $g4[board_new_table] where bo_table = '$bo_table' and wr_parent = '$wr_id' ");
echo"<script language=\"javascript\">
window.alert(\"이글의 코멘트가 전부 삭제 되었습니다. 총갯수: $kototal 개\");
</script>";
goto_url("./board.php?bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr);
exit;
}
if ($is_admin =="super") {
if ($kototal) {
//echo "$view[wr_comment] 개";
echo"
<FORM NAME='admin_view_comment_del' METHOD='POST' ACTION='./board.php' onclick=\"return confirm('이글에 포함된 코멘트를 전부 삭제 하시겠습니까?\\n\\n코멘트 일괄 삭제를 실행하면 돌이킬수 없습니다.')\">
<input type='hidden' name='bo_table' value='$bo_table'>
<input type='hidden' name='wr_id' value='$wr_id'>
<input type='hidden' name='admin_comment_del_ok' value='comment_del_ok'>
<INPUT TYPE='submit' VALUE='코멘트일괄삭제'>
</FORM>";
}
}
?>
댓글 전체

이 기능을 원하시는 게 아닌가요?
그럼 위 링크 팁에서 첨부된 alldel.php 파일의 아래 코드를
해당 게시물의 지정 아이디의 코멘트를 삭제하도록 수정가능할까요? ^^
$i = 0;
$query = sql_query("select bo_table from `$g4[board_table]`");
while($row = sql_fetch_array($query)) {
sql_query("delete from `$g4[write_prefix]$row[bo_table]` where mb_id='$mb_id'");
$i++;
}
echo "총 $i 개의 글 또는 코멘트를 삭제했습니다.";

sql_query("delete from `$g4[write_prefix]$row[bo_table]` where mb_id='$mb_id' AND wr_parent='$wr_id' AND wr_is_comment");
참 그리고 위 팁을 사용해 봤었는데
삭제는 잘 되는데
삭제후 아래처럼 꼭 37 개의... 이렇게 뜨더라구요.... 1개 삭제해도 그렇구 2개, 3개도....
Loading Image...총 37 개의 글 또는 코멘트를 삭제했습니다.

echo mysql_num_rows(sql_query("select mb_id from `$g4[write_prefix]$row[bo_table]` where mb_id='$mb_id' AND wr_parent='$wr_id' AND wr_is_comment"));
이렇게 해보세요.
$i = 0;
$query = sql_query("select bo_table from `$g4[board_table]`");
while($row = sql_fetch_array($query)) {
sql_query("delete from `$g4[write_prefix]$row[bo_table]` where mb_id='$mb_id' AND wr_parent='$wr_id' AND wr_is_comment");
$i++;
}
echo "총 $i 개의 글 또는 코멘트를 삭제했습니다.";
이렇게 수정했는데 이젠 삭제가 안되네요....
새로 알려주신건 적용하니
Loading Image...0000000000000000000000000000000000000총 37 개의 글 또는 코멘트를 삭제했습니다.
이렇게 되구요 ㅠㅜ

그런데 몇번을 해봐도 새로 주신 코드론 삭제가 안됩니다.
이전껀 모두 삭제가 되구요.
해당게시물내 선택아이디 코멘트 삭제만 된다면 ㅠㅠ

$wr_id = 원글;
$mb_id = 회원아이디;
sql_query("delete from `$g4[write_prefix]$bo_table` where mb_id='$mb_id' AND wr_parent='$wr_id' AND wr_is_comment");
답변 감사합니다. (^^)(__)

예를 들어 저렇게 d.php라고 만들었다면,
d.php?bo_tabe=게시판&wr_id=원글아이디&mb_id=회원아이디
이런식으로 링크를 생성해놓고 클릭하면 되겠죠.