특정 컬럼의 데이터를 제외하고 검색하기
본문
안녕하세요.
게시판 list.php 에서 댓글쓴 사람의 id 목록을 가져오고 있는데요.
특정 사람(mb_id) 의 ID는 제외하고 값을 가져오고 싶어
아래처럼 not in 구문을 사용했는데 작동하지를 않네요..ㅜㅜ
도움을 부탁드립니다.
$sql = " select wr_id, wr_parent, wr_name, mb_id from $write_table where wr_parent IN ({$wr_id_str}) and mb_id not in ('testid') and wr_is_comment = 1 order by wr_comment, wr_comment_reply ";
답변 4
파란색코드 탓 아닐련지..
$sql = " select wr_id, wr_parent, wr_name, mb_id from $write_table where wr_parent IN ({$wr_id_str}) and mb_id not in ('testid') and wr_is_comment = 1 order by wr_comment, wr_comment_reply ";
PS. 해당 코드 제외하고 아래 코드로 테스트해보니 잘 됩니다.
select wr_id, wr_parent, wr_name, mb_id from g5_write_free where mb_id not in ('admin') and wr_is_comment = 1 order by wr_comment, wr_comment_reply
$sql = " select wr_id, wr_parent, wr_name, mb_id from $write_table where wr_parent IN ({$wr_id_str}) and mb_id not in ('testid') and wr_is_comment = 1 order by wr_comment, wr_comment_reply ";
echo $sql;
해서 한번 sql을 확인해 보세요.
$wr_id_str이 어떻게 나오는 보세요.
$sql = " select wr_id, wr_parent, wr_name, mb_id from $write_table
where wr_parent IN ({$wr_id_str}) and mb_id not in ('testid') and wr_is_comment = 1
order by wr_comment, wr_comment_reply ";
이 쿼릴 보면
wr_parent 라는 wr_id 값을 한정하는 구문이 있네요
wr_id 와 wr_parent 는 본문
wr_id <> wr_parent 이고 wr_comment = 1 은 댓글이 됩니다.
따라서 특정게시판의 댓글중에 특정 ID가 제외된 모든 댓글을 추출하려면
<?php
$sql = " SELECT wr_id, wr_parent, wr_name, mb_id FROM $write_table
WHERE mb_id not in ('testid') and wr_is_comment = 1
order by wr_comment, wr_comment_reply ";
와 같은 방식으로 접근하시는게 맞습니다.
위의 질문에 올리신 쿼리는
특정게시물의 댓글중 이라는 형태로 한정하게 됩니다
!-->
댓글쓴사람의 목록을 중복없이
===
처음 질문이 이거였다면 다들 산에 있지는 않을 겁니다.
select distinct mb_id from...
이렇게 하시면 됩니다.