1:1문의를 메일이 아닌 게시판으로 작업하려고하는데, 게시물을 가져오는 sql을 제대로 작성하지 못하겠습니다.

1:1문의를 메일이 아닌 게시판으로 작업하려고하는데, 게시물을 가져오는 sql을 제대로 작성하지 못하겠습니다.

QA

1:1문의를 메일이 아닌 게시판으로 작업하려고하는데, 게시물을 가져오는 sql을 제대로 작성하지 못하겠습니다.

본문

1:1문의를 메일이 아닌 게시판으로 만들려고 하고있습니다.

카페24 1:1문의내역 게시판과 비슷한 느낌이 될거같습니다.

 

본인이 작성한 문의글과, 이에 대한 답변들만을 가져오는 형식으로 sql query를 작성해야하는데,

 

본인이 작성한 글만 가져온다면

 

$sql = " select * from table where mb_id = '{$member['mb_id']}' "

와 같은 형태가 될테고, 이렇게 작성하였을때 작성자 본인의 게시글을 가져오는것이 확인되었습니다.

 

다만 이렇게 작성하면 관리자가 해당 글에 단 답변글을 가져오지 않는 상황이 발생합니다.

 

그러면 where절에 관리자가 작성한 글도 가져오면 되지않을까? 라고 생각해 query를 작성해보았고,

$sql = " select * from table where mb_id = '{$member['mb_id']}' or mb_id = 'admin' "

이렇게 작성을 해보았지만, 이 경우 작성자가 작성하지 않은 글에 대한 답변글도 같이 가져와버리는 불상사가 발생한다는것을 깨닫게되었습니다.

 

관리자는 전체를 가져오게하면 되기때문에 문제가 없을 것 같은데, 사용자의 것을 가져올 query의 작성에서 막힌 상황입니다.

 

해당 query의 작성이 불가능하다고 판단될 경우, 댓글을 답변으로 사용하려고 하고있습니다.

선배님들, query의 작성에 도움을 주실 수 있으신지요?

이 질문에 댓글 쓰기 :

답변 1


<?php
// 최고관리자일 경우
if ($is_admin) {
    $add_sql = " or mb_id = 'admin' ";
}
$sql = " select * from table where mb_id = '{$member['mb_id']}' {$add_sql} ";
?>

답변 감사합니다.
하지만, 제가 현재 막혀있는 부분은, 최고관리자인 경우의 query가 아닌,
일반 회원의 문의내역을 가져올 때, 그 글의 답변글도 가져오는 경우에서 막혀있습니다.

알려주신 방식으로 작업하면 제가 작성한 query가 좀 더 깔끔해질 것 같네요.
도움 감사합니다.

기본 그누보드 형식으로 쿼리를 여러 번 실행하지 않는 이상,
답변글도 가져오는 부분은 구현이 힘듭니다.
약간의 편법?이라하면,
답글을 작성할때에 mb_10 과 같은 여분필드에
원글을 작성하는 작성자의 mb_id가 삽입되게하고
쿼리를 실행할때 mb_10 = '{$member['mb_id']}' 형식으로 하시면 될겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 722
QA 내용 검색
filter #sql ×

회원로그인

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