논리연산자
본문
<?php if ( $member['mb_1'] == $view['mb_1'] and $member['mb_level'] == 5) { ?>
<select name="wr_3" id="wr_3" onchange="wr_3_check('<?php echo $view['wr_id'];?>',this.value);" class="c_inquiry_status3">
<option value="" <?php if($view['wr_3'] === '승인여부'){ echo 'selected'; }?>>승인여부를 선택해주세요.</option>
<option value="승인" <?php if($view['wr_3'] === '승인'){ echo 'selected'; }?>>승인</option>
<option value="반려" <?php if($view['wr_3'] === '반려'){ echo 'selected'; }?>>반려</option>
</select>
<script>
1:1문의 게시판을 만들고있습니다.
제가 구현하고자 하는 바는 레벨별 권한 설정인데, 일반 사용자는 2의 권한을 갖고 문의를 작성할 수 있습니다. 레벨 5의 권한을 가진 팀장급들은 자기 팀의 팀원들의 글만 승인여부를 조작할 수 있게 구현하고자 합니다. 따라서 팀명을 mb_1값에 저장시켜 두고 레벨이 5인 계정일때 문의글 작성자의 mb_1값이 같다면 승인여부를 조작할수 있게 하고싶은데 위와같이 코드를 작성하면 작동하지않습니다ㅠㅠ 뭐가 잘못되었을까요
!-->답변 6
if ($member['mb_level'] == 5 && get_member($view['mb_id'])['mb_1'] == view['wr_1']} {
해당코드;
}
----------
if (나의 레벨이 5이고 동시에 글쓴이의 mb_1 과 여분필드 wr_1 이 같다면) {
해당코드;
}
!-->
<?php
$writer = get_member($view['mb_id']);
if (($member['mb_1'] == $writer['mb_1']) && ($member['mb_level'] == 5)) { ?>
ps. 위 코드 상에선 IF문의 닫는 중괄호가 안 보여요.
!-->당연히 오류가 나지요.
어떤 코드를 사용한지 모르겠지만
$view['wr_1'] 로 해야 하는 것 아닌가요?
그렇다면 도대체 $view['mb_1'] 의 정체는 무엇인가요? 이 듣도 보도 못한 연관배열은 어디서 구성되어 나온 것이죠?
and 를 && 로 바꿔보세요.
그리고 이럴경우는 2레벨과 5레벨을 분기해서 로직을 차는 것이 좋습니다.
질문자님 글 작성시 wr_1에 팀 구분 코드가 들어가나요?
($member['mb_1'] == $view['wr_1']) && ($member['mb_level'] >= '5')
회원여분필드 mb_1에 들어간 값과 글 작성시 들어가는 여분필드 wr_1의 값이 팀 구분 값인거죠?
아마 위 처럼 작성하시면 가능 할 듯하네요
답변을 작성하시기 전에 로그인 해주세요.