sql 필터링 질문드립니다. 채택완료
</p>
<p><?php</p>
<p>$sub_menu = '200911';</p>
<p>include_once('./_common.php');</p>
<p> </p>
<p>auth_check($auth[$sub_menu], "r");</p>
<p>
</p>
<p>$g5['title'] = '박람회문의목록';</p>
<p>include_once (G5_ADMIN_PATH.'/admin.head.php');</p>
<p> </p>
<p>$exhibitionList = array();</p>
<p>$exhibitionData = array();</p>
<p>$sql = "select e.e_no, e.e_name, e_data from {$g5['exhibition_table']} e left join {$g5['member_table']} m on (e.e_mb_no=m.mb_no) ";</p>
<p>$sql_search = ' where (1) ';</p>
<p>if ($is_admin != 'super') {</p>
<p> if($member['mb_level']==9) $sql_search .= " and e.e_mb_no = '{$member['mb_no']}' ";</p>
<p> if($member['mb_level']<9) $sql_search .= " and e.e_mb_no = '{$member['mb_10']}' and e.e_no= '{$member['mb_9']}'";</p>
<p>}</p>
<p>$result = sql_query($sql);</p>
<p>for ($i = 0; $row = sql_fetch_array($result); $i++) $exhibitionList[] = $row;</p>
<p> </p>
<p>foreach ( $exhibition_counsel_data_list as $k=>$v) {</p>
<p> $exhibitionData['is_use'][$k] = 1;</p>
<p>}</p>
<p> </p>
<p>if($subjectivity) {</p>
<p> foreach ( $exhibitionList as $k=>$v) {</p>
<p> if($v['e_no']==$subjectivity) {</p>
<p> $exhibitionData = unserialize($v['e_data']);</p>
<p> }</p>
<p> }</p>
<p>}</p>
<p>
</p>
<p>$sql_common = " from {$g5['exhibition_counsel_table']} ec left join {$g5['exhibition_table']} e on (ec.e_no=e.e_no) left join {$g5['member_table']} m on (e.e_mb_no=m.mb_no) ";</p>
<p>$sql_search = ' where (1) ';</p>
<p>if ($is_admin != 'super') {</p>
<p> if($member['mb_level']==9) $sql_search .= " and m.mb_no = '{$member['mb_no']}' ";</p>
<p> if($member['mb_level']<9) $sql_search .= " and m.mb_no = '{$member['mb_10']}' and ec.e_no= '{$member['mb_9']}'";</p>
<p>}</p>
<p> </p>
<p>if($subjectivity) $sql_search .= " and e.e_no = '{$subjectivity}' ";</p>
<p>// 테이블의 전체 레코드수만 얻음</p>
<p>$sql = " select count(*) as cnt " . $sql_common . $sql_search;</p>
<p>$row = sql_fetch($sql);</p>
<p>$total_count = $row['cnt'];</p>
<p> </p>
<p>$rows = $config['cf_page_rows'];</p>
<p>$total_page = ceil($total_count / $rows); // 전체 페이지 계산</p>
<p>if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)</p>
<p>$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p> </p>
<p>$sql = "select ec.*, e.e_name, m.mb_name $sql_common $sql_search order by ec_regdate DESC limit $from_record, {$config['cf_page_rows']} ";</p>
<p> </p>
<p>$result = sql_query($sql);</p>
<p> </p>
<p>$qstr .= "&subjectivity=$subjectivity";</p>
<p>?></p>
<p>
상담신청하기 폼을 통해 전송된 데이터를 출력하는 곳의 소스입니다.
전체 리스트에서 관리자 등급에 따라 노출되는 항목을 다르게 하고싶은데 어떻게 해야할까요?
e_date 라는 컬럼에
A,B,C 세개의 데이터가 들어있습니다.
최고관리자에겐 A,B 데이터만 보여주고 abc라는 관리자에게는 C데이터만 보여주고싶습니다.
답변 3개
당장에 쿼리로 읽어올때는 크게 중요하지않습니다.
저 쿼리를 html과 php를 혼용해서
출력하는데
그 코드에서 접속중인 아이디로 구분하여
분기처리하시면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
if($member['id']=="abc"){
abc인경우에 보여주기
}else if($member['id']=="다른id"){
다른id인경우
}
이런형태로 해보시겠어요?
댓글을 작성하려면 로그인이 필요합니다.
회원들이 등급이 나뉘어져있어서
로그인한 계정에 따라
관리자 mb_level =10
abc mb_level = 9(예시로 9라고햇을때)
if($member['mb_level']=="10"){
echo $row['칼럼"];// a만 보여주기
}else if($member['mb_level']=="10"){
echo $row['칼럼"];// a만 보여주기
}else{
//기타 레벨 처리
}
회원을 구분하는게 핵심이것 같습니다.~
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인