해당 회원이 작성 글이나 코멘트가 있을때만 실행되는 쿼리
본문
안녕하세요.
그누위즈님 팁 게시판에서 얻은 쿼리문인대요.
회원 디비에서 완전 삭제 시 글이 지워지게하는 것입니다.
팁대로 common.lib.php 에 넣어 해봤으나 글이 삭제가 안되어서
아미나 빌더 관리자페이지 회원목록에서 완전삭제 기능에 (member_list_update.php) 아래 쿼리를 넣어서 했더니 작성했던 글,댓글 다 지워지는데..
문제는 여러명을 체크하여 삭제할 경우 삭제하는 회원중에 글이나 댓글이 없을땐 오류가 나고있습니다.
$sql = " select * from {$g5['board_table']} ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$board_table = $g5['write_prefix'] . $row['bo_table']; // 게시판 테이블 전체이름
sql_query(" delete from {$board_table} where mb_id = '{$mb['mb_id']}' ");
}
완전 삭제하는 회원의 글이나 코멘트가 존재할때만 해당 쿼리문을 실행되게 하려면
어떤식으로 if문을 작성해야되는지 고수님들의 도움 부탁드립니다.
감사합니다.
답변 2
회원중에 글이나 댓글이 없을땐 오류가 나고있습니다<--어디서 오류가 난다는 것인가요?
위 쿼리에서 오류가 난다는 것인가요?
위의 삭제 코드에서는 오류가 나올 수가 없습니다
오류 내용을 올렸으면 좋을텐데요
$mb['mb_id']<---여러명 체크시 이 값에 체크한 아이다가 제대로 들어가도록 만들었는지 의문입니다
해당글이 존재하는지 체크하는 것은 아래와 같이 하면 되지만 위 코드에서 에러가 난다면
이 코드에서도 에러가 나는 것이 맞겠습니다
$row=sql_fetch("select count(*) as cnt from $board_table where mb_id = '{$mb['mb_id']}' ");
if($row['cnt']) sql_query(" delete from ~~~~~
아미나 빌더 adm/member_list_update.php 입니다.
아미나 빌더는 회원 완적삭제 기능이 있습니다.
원본은
sql_query(" delete from {$g5['member_table']} where mb_id = '{$mb['mb_id']}' ", false); // 완전삭제
까지만 들어가 있는데 나머지는 제가 추가한 것입니다.
1개씩 선택해서 삭제를 할 경우 잘 되고 있습니다.
근대 탈퇴회원이 20명이라 가정하고 전체선택 후 탈퇴 회원을 '완전삭제' 누를 경우
delete from {$g5['member_table']} 에서
sql_query(" delete from {$g5['board_new_table']} 삭제까지 다 되지만
아래 sql_query(" delete from {$board_table} 쿼리가 들어가면
'회원자료가 존재하지 않습니다.
라고 오류가나며 선택한 20명중 맨위에 1개만 삭제처리가 되고 있습니다.
근대 글이나 댓글이 존재하는 회원 2명이든 3명씩 선택하여 완전삭제 클릭 시 문제없이 삭제가 되고 있고요.
그래서 글이 존재하는 회원만 쿼리 실행하면 될까 해서 질문글 올린 것입니다.
위에 만들어주신 if문 넣고 해봣는대도 마찬가지입니다.
저의 adm/member_list_update.php 소스입니다.