다중 검색관련 질문드립니다. 채택완료
다중검색 질문입니다.
예를들어 회원관리에서 회원레벨이 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개
관리자 회원리스트에서 기본적인 기능으로는 불가능 합니다.
아래 소스를 보시면 아시겠지만 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 .= " ) "; }
댓글을 작성하려면 로그인이 필요합니다.
테스트 해볼 환경이 안되서 확인을 못해봤습니다.
아마 에러날겁니다. 대강 참고만 해주세요.
도메인/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>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인