sql 쿼리 관련 질문합니다.

sql 쿼리 관련 질문합니다.

QA

sql 쿼리 관련 질문합니다.

본문

보기 싫은 댓글 차단하는 코딩중에서, 내가 차단한 댓글만 안보이게 하기.

오류 : 차단버튼 누를 경우 다른사람이 차단한것까지 같이 차단되어 보이는 오류...

 

A라는 게시글에 b댓글 c댓글이 달렸을때.

d라는사람이 b댓글 차단

e라는 사람이 c댓글 차단 하면.

 

d라는 사람이 b와 c 모두 차단되어 보여짐.. b만 안보여야 함..

e도 마찬가지. b와 c 모두 차단되어 보여짐. c만 안보여야함..

 

조건을 어떻게 해야할지 매우 고민입니다 ㅠㅠ

---------------------------------------------------------------------------------------------

 

$sql = "SELECT * FROM {$g5['apms_shingo']} WHERE mb_id='{$member['mb_id']}' and wr_parent = '{$view['wr_id']}'";

 $result_id = sql_fetch($sql);

 

if($is_member) { // 회원일때

 

            if($member['mb_id']==$result_id['mb_id'] && $result_id['wr_parent'] == $view['wr_id']){

     

            $shingo_txt = '<p><b>블라인드 처리된 댓글입니다.</b></p>';

     

            $is_cmt_shingo = true;

            $row['wr_content'] = ''; // 글내용 지움

 

            }

 

 

 

 

이 질문에 댓글 쓰기 :

답변 3

차단 조치(표시)를 어떻게 한 건가요?

1. 일단 회원일때와 비회원일때 // 구분을 주었구요.
2. 그전에 기존에 있는 apms_shingo 신고 관련 테이블로 가서, 현재 접속되어 있는 $member['mb_id'] // 접속되어 있는 아이디  그리고 차단버튼(신고)를 누른 아이디를 찾아서 mb_id
로 일치하는지 비교를 했습니다.

3. wr_parent  해당 게시판 번호와 $view['wr_id'] // 현재 보고 있는 게시판 번호 가 일치하는지
비교를 했습니다.

둘다 맞을 경우 블라인드 처리로 적용을 했습니다.

apms_shingo (신고테이블) _ 댓글일때

bo_table
wr_id          // 댓글 번호
wr_parent    //  게시글 번호
mb_id        //  아이디


신고테이블 wr_id 와 해당 게시판 테이블 wr_id 가 같을때 블라인드 처리로도
헤보았으나 같은 상황입니다..

1. 일단 회원일때와 비회원일때 // 구분을 주었구요.

==> 회원일 때만 차단한 댓글 안 보이기" 기능이 동작하는 건가요?

댓글-loop( $list) {

if($is_member) { // 회원일때


$sql = "SELECT count(*) cnt FROM {$g5['apms_shingo']} WHERE mb_id='{$member['mb_id']}' and wr_parent = '{$list['wr_id']}'";

 $result_id = sql_fetch($sql);

 if( $result_id['cnt'] > 0)  {
            $shingo_txt = '<p><b>블라인드 처리된 댓글입니다.</b></p>';
            $is_cmt_shingo = true;
            $row['wr_content'] = ''; // 글내용 지움
} else {
            //$shingo_txt = '';
            $is_cmt_shingo = false;
            //$row['wr_content'] = ''; // 글내용 지움
}

} // if( 회원)

댓글 출력...

}  //댓글-loop()



이런 식으로 하면 될 듯한데 비효율적입니다.

bbs/view_comment.php에서 처리해야 깔끄합니다.

댓글도 게시글과 동일하게 wr_id가 고유적으로 부여가 됩니다.

 

게시글을 신고할때 insert 문이 어떻게 될지는 모르겠지만 굳이 wr_id가 insert가 된다면 wr_parent로 찾을 필요는 없을것 같습니다.

 

그리고 bo_table 값도 저장 되야 하구요.

 

view_commnet.skin에서 작업을 해야하는데 거기서 변수는 $view가 아니고 for문 안에 $list이고

 

view_comment.skin  for 문 안에
 

<?php

$sql = "SELECT * FROM {$g5['apms_shingo']} WHERE bo_table = '{$bo_table}'  and mb_id='{$member['mb_id']}' and wr_id = '{$list[$i]['wr_id']}'";

$result_id = sql_fetch($sql);

 

if($is_member) { // 회원일때

if($result_id){
    ?>
    이렇게 해도 되지 않을까 싶네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 60,976
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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