회원목록에서 2개 이상 등급을 검색표시 할려면?

회원목록에서 2개 이상 등급을 검색표시 할려면?

QA

회원목록에서 2개 이상 등급을 검색표시 할려면?

답변 2

본문

관리자모드의 회원목록 페이지에서 등급검색을 하면 한번에 하나의 등급만 검색이 되는데

 

만약 2등급, 3등급의 회원들을 목록표시 할려면 어떤 방법이 있을런지 문의드립니다~!

이 질문에 댓글 쓰기 :

답변 2

검색 용도에 맞게 수정하는 방법밖에 없습니다.

아래 예시는 검색어를 2 3처럼 띄워쓰기가 되어 있을경우 범위조건으로 검색하게 수정한것입니다.

조건이 복잡하거나 직관적으로 하실려면 폼을 이용하시는 방법도 있습니다.


        case 'mb_level' :
            $sql_search .= " ({$sfl} = '{$stx}') ";
            break;
// 2~3,  2 ~ 4등급을 다중검색이 필요할것 같다면 범위로 검색할수있게 쿼리를 수정
        case 'mb_level' :
            if (is_numeric($stx)) {
                $sql_search .= " ({$sfl} = '{$stx}') ";
            } elseif(strpos(trim($stx), ' ')) {
                $stxx = explode(' ', $stx);
                if(is_numeric($stxx[0]))
                $sql_search .= " ({$sfl} >= '{$stxx[0]}') ";
                if(is_numeric($stxx[1]))
                $sql_search .= "AND ({$sfl} >= '{$stxx[0]}') ";
            }
            break;

https://github.com/gnuboard/gnuboard5/blob/master/adm/member_list.php#L16

다중으로 하실경우 select 의 option 에 valuer 를 2,3 또는 2~3, 2|3   으로 하시거나 여튼 구분자를 둔 뒤에

search 하는 php 문에서 전제를 value가 작성하신 값일 때

 

if($변수 == "2,3"){

$변수컷 = explode(",", "$변수);

$변수갯수 = count($변수컷);

$변수query = "AND `필드명` IN (";

for($a=0; $a< $변수갯수; $a++){

  if($a==0){

  $변수query .= "'값'";

  }else{

  $변수query .= ",'값'";

  }

}

$변수query .= ")";

 

즉 쿼리문이 나와야 할 방식은

AND 필드명 IN ("2", "3"); 식으로 뽑아 내시면 원하시는데로 만들수 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 74
© SIRSOFT
현재 페이지 제일 처음으로