회원목록에서 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"); 식으로 뽑아 내시면 원하시는데로 만들수 있습니다.
답변을 작성하시기 전에 로그인 해주세요.