해당 회원이 작성 글이나 코멘트가 있을때만 실행되는 쿼리

해당 회원이 작성 글이나 코멘트가 있을때만 실행되는 쿼리

QA

해당 회원이 작성 글이나 코멘트가 있을때만 실행되는 쿼리

본문

안녕하세요.

 

그누위즈님 팁 게시판에서 얻은 쿼리문인대요.

 

회원 디비에서 완전 삭제 시 글이 지워지게하는 것입니다.

 

팁대로 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 소스입니다.

 

thumb-1807069456_1605955722.0382_730x436.png

첨부한 이미지에서 소스 코드 확인이 가능한가요?
돋보기로 확인한 결과 오류는 하단 for문애서 $i 가 문제 입니다
$h 로 변경하세요

for( $ i <---for문 속에
  또 for문이 들어가면서
 for($ i <--- 이것처럼 헤버리면 위쪽 for문 $ i가 변경되어버려서 안됩니다

죄송합니다.
저렇게 작게 나온지 몰랐네요.
댓글을 등록하며 리사이징 된듯합니다.
클릭하면 당연히 원본이 나오는줄 알았는데 ㅠㅠ
답변 감사합니다  균이님!
덕분에 해결하였습니다^^

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT