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

다중 검색관련 질문드립니다. 채택완료

늙은호랑이 7년 전 조회 3,229

다중검색 질문입니다.

 

예를들어 회원관리에서 회원레벨이 2인 회원을 보려면

 

도메인/adm/member_list.php?token=80ee1996a45e12dc49a50faff2528875&sfl=mb_level&stx=2

 

위처럼 하면 되는데,

 

여기에 회원레벨이 2이면서 이름이 angel 인 회원을 보려면

 

도메인/adm/member_list.php?token=80ee1996a45e12dc49a50faff2528875&sfl=mb_level&stx=2&sfl=mb_name&stx=angel

 

위처럼 하면 이름이 angel인 회원만 검색이 됩니다.

 

위 조건대로 회원레벨이 2이면서 이름이 angel 인 회원만 보려면 방법이 있는지 문의드립니다. (다중 검색이 가능한지 문의드립니다.)

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

답변 2개

채택된 답변
+20 포인트
프라푸치노K

관리자 회원리스트에서 기본적인 기능으로는 불가능 합니다.

 

아래 소스를 보시면 아시겠지만 stx, sfl은 각 하나씩만 대입하고 있습니다.

원하시는 결과를 보시려면 아래 소스를 커스텀 해야합니다.

 

$sql_search = " where (1) "; if ($stx) {     $sql_search .= " and ( ";     switch ($sfl) {         case 'mb_point' :             $sql_search .= " ({$sfl} >= '{$stx}') ";             break;         case 'mb_level' :             $sql_search .= " ({$sfl} = '{$stx}') ";             break;         case 'mb_tel' :         case 'mb_hp' :             $sql_search .= " ({$sfl} like '%{$stx}') ";             break;         default :             $sql_search .= " ({$sfl} like '{$stx}%') ";             break;     }     $sql_search .= " ) "; }  

 

 

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

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

프라푸치노K

테스트 해볼 환경이 안되서 확인을 못해봤습니다.

아마 에러날겁니다. 대강 참고만 해주세요.

 

도메인/adm/member_list.php?token=80ee1996a45e12dc49a50faff2528875&sfl=mb_level||mb_name&stx=2||angel&sop=and

</p>

<p>function get_search_text($stx,$sfl,$sop){</p>

<p>    if ($stx) {

            $sql_search = " {$sop} ";

            switch ($sfl) {

                    case 'mb_point' :

                            $sql_search .= " ({$sfl} >= '{$stx}') ";

                            break;

                    case 'mb_level' :

                            $sql_search .= " ({$sfl} = '{$stx}') ";

                            break;

                    case 'mb_tel' :

                    case 'mb_hp' :

                            $sql_search .= " ({$sfl} like '%{$stx}') ";

                            break;

                    default :

                            $sql_search .= " ({$sfl} like '{$stx}%') ";

                            break;

            }

    }</p>

<p>    return $sql_search;</p>

<p>}//end function</p>

<p>

$sql_common = " from {$g5['member_table']} ";</p>

<p>$sql_search = " where (1) ";</p>

<p>$arSfl = explode('||',$sfl);

$arStx = explode('||',$stx);

foreach($arSfl as $key=>$val){

    if($key > 0) $tmp_sop = $sop;

    $sql_search .= " and ( ";

    $sql_search .= get_search_text($arStx[$key],$val,$tmp_sop);

    $sql_search .= " ) ";

}//end foreach</p>

<p>

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

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

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

로그인