else문 질문드립니다.
본문
회원관리를 별도로 개발한건데요.
회원관리에서 승인(1)/미승인(0) 이렇게 버튼이 있고 클릭하면 유형별로 출력됩니다.
승인회원을 클릭하면 승인회원만 출력되고 미승인회원을 클릭하면 미승인회원만 나오지요.
페이지 상단에는
case 'auth_m' :
$stx = strtoupper(trim($stx));
if ($stx != 'Y')
$sql_search .= " {$sfl} = '0' ";
else
$sql_search .= " {$sfl} = '1' ";
break;
이렇게 되어 있어요.
여기에 승인대기(2)를 추가해야해서 아래처럼 수정하면 될줄알았는데
오류는 안나지만, 승인대기를 클릭시 미승인이 출력되서요.
case 'auth_m' :
$stx = strtoupper(trim($stx));
if ($stx != 'Y')
$sql_search .= " {$sfl} = '0' ";
else
$sql_search .= " {$sfl} = '1' ";
$sql_search .= " {$sfl} = '2' ";
break;
DB나 다른 곳은 줏어배운대로 다 수정했는데 위 부분은 모르겠어서 질문남깁니다ㅠㅠ
답변 2
if else 문법 상으로
if ($stx != 'Y'){
$sql_search .= " {$sfl} = '0' ";
}else{
$sql_search .= " {$sfl} = '1' ";
$sql_search .= " {$sfl} = '2' ";
}
2줄 이상 실행해야 할 경우 괄호{}를 넣으셔야 하고요.
요청하신 부분은
$sql_search .= " {$sfl} = '1' ";
$sql_search .= " {$sfl} = '2' ";
대신
$sql_search .= " {$sfl} in ('1', '2') ";
이렇게 in을 이용하셔야 합니다.
근데 쿼리 조건문을 쓰시는데 where 나 and 구분자가 없네요?
어떻게 하시든 전문을 올려주시지 않으면 온전한 답을 얻으실 수 없습니다.
지금 코드에는 똑같은 데이터가 1,2 가 동시에 쿼리 검색이 되도록 처리되어 발생되어지는 문제로 보여집니다.
기존에는 Y,N 기준으로 체크되도록 된듯 한데요 검색구분 항목을 하나더 추가해서 else if 문을 추가해 주셔야 할것으로 보여집니다.