회원권한 일부 표시 안하기
본문
// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
{
global $g5;
$str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) $str .= " $event";
$str .= ">\n";
for ($i=$start_id; $i<=$end_id; $i++) {
if($i == "1"){
$i_name = "비회원";
}
elseif($i == "2"){
$i_name = "개인회원";
}
elseif($i == "5"){
$i_name = "기업승인대기";
}
elseif($i == "6"){
$i_name = "기업회원";
}
elseif($i == "10"){
$i_name = "관리자";
}
else{
$i_name = $i;
}
$str .= '<option value="'.$i.'"';
if ($i == $selected)
$str .= ' selected="selected"';
$str .= ">{$i_name}</option>\n";
}
$str .= "</select>\n";
return $str;
}
이렇게 해서 이름을 변경하여 사용하고 있는데요
혹시 저기 적어 놓은거 말고 3이라던가 4라던가 8이라던가 이렇게 안 쓰는건 표시가 안되게 할 수 있나요?
답변 1
구현 방법이 다양한데, 간단하게 두 가지 방법 남깁니다.
아래 두 줄 중에 원하는 조건 사용하면 됩니다.
// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
{
global $g5;
$str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) $str .= " $event";
$str .= ">\n";
for ($i=$start_id; $i<=$end_id; $i++) {
if($i == "1"){
$i_name = "비회원";
}
elseif($i == "2"){
$i_name = "개인회원";
}
elseif($i == "5"){
$i_name = "기업승인대기";
}
elseif($i == "6"){
$i_name = "기업회원";
}
elseif($i == "10"){
$i_name = "관리자";
}
else{
$i_name = $i;
}
if ( in_array($i, [3, 4, 8]) ) continue; // PHP v5.4 이상. 미만은 array(3, 4, 8) ... 지정 레벨 패스
// if ( $i_name==$i ) continue; // 이렇게 조건을 추가하면, 지정 명칭 없으면 패스
$str .= '<option value="'.$i.'"';
if ($i == $selected)
$str .= ' selected="selected"';
$str .= ">{$i_name}</option>\n";
}
$str .= "</select>\n";
return $str;
}