관리자와 자신글만 보이기...
본문
답변 5
본 게시글을 작성하실때 올려주신 부분에서 아래 빨간색 부분만을 수정하셔서 적용해보세요.
if($is_admin) $query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
else $query = "SELECT * FROM $write_table WHERE mb_id='{$member[mb_id]}' and left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
다시 확인해보세요.
안된다면 지금 작성자분께서 뭔가 다른 실수를 하고 계신걸거에요.
<?php if($is_admin || $member['mb_id']==$board['mb_id']) { ?>// 이부분
<?php if($is_admin || $member['mb_id']==$list[$i]['mb_id']) { ?>// 이부분
동작이 될지 안될지 모르겠지만... 효율적인 방법은 아닐 것 같습니다. 글을 다 읽어들이면서 mb_id 값을 대조, 보여줄지 말지 판단하는 거니까요.
$query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
이 쿼리로 해결해보세요.
쿼리를 조건으로 처리해서 관리자일때 쿼리, 사용자일때 쿼리를 나누는게 효율적일 듯 싶네요.
if($is_admin) $query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
else $query = "SELECT * FROM $write_table WHERE wr_id='{$member[mb_id]}' and left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
위 처럼.. 쿼리 조건문내에 wr_id 값이 현재 로그인한 사용자의 id 와 동일한 값만 호출해서 표현시키면 될 것 같습니다.
방법에 대한 의견일 뿐 최적화 코드는 다양한 방법으로 하셔도 되겠습니다.
많은 도움이 되었습니다. 감사합니다.