테스트 사이트 - 개발 중인 베타 버전입니다

else문 질문드립니다. 채택완료

7년 전 조회 2,181

회원관리를 별도로 개발한건데요.

회원관리에서 승인(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개

채택된 답변
+20 포인트

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개

잉기님 고맙습니다.
문법이 맞는지만 궁금해서 말씀하신 부분은 생략했던거에요^^;

감사합니다!!

댓글을 작성하려면 로그인이 필요합니다.

지금 코드에는 똑같은 데이터가 1,2 가 동시에 쿼리 검색이 되도록 처리되어 발생되어지는 문제로 보여집니다.

기존에는 Y,N 기준으로 체크되도록 된듯 한데요 검색구분 항목을 하나더 추가해서 else if 문을 추가해 주셔야 할것으로 보여집니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그렇군요 댓글 감사드립니다.
열심히 공부할게요!!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록