회원관리 검색 질문드립니다.
본문
안녕하세요.
회원관리에서 검색 부분 질문드립니다.
<form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="mb_id"<?php echo get_selected($_GET['sfl'], "mb_id"); ?>>회원아이디</option>
<option value="mb_nick"<?php echo get_selected($_GET['sfl'], "mb_nick"); ?>>닉네임</option>
<option value="mb_name"<?php echo get_selected($_GET['sfl'], "mb_name"); ?>>이름</option>
<option value="mb_level"<?php echo get_selected($_GET['sfl'], "mb_level"); ?>>권한</option>
<option value="mb_email"<?php echo get_selected($_GET['sfl'], "mb_email"); ?>>E-MAIL</option>
<option value="mb_tel"<?php echo get_selected($_GET['sfl'], "mb_tel"); ?>>전화번호</option>
<option value="mb_hp"<?php echo get_selected($_GET['sfl'], "mb_hp"); ?>>휴대폰번호</option>
<option value="mb_point"<?php echo get_selected($_GET['sfl'], "mb_point"); ?>>포인트</option>
<option value="mb_datetime"<?php echo get_selected($_GET['sfl'], "mb_datetime"); ?>>가입일시</option>
<option value="mb_ip"<?php echo get_selected($_GET['sfl'], "mb_ip"); ?>>IP</option>
<option value="mb_recommend"<?php echo get_selected($_GET['sfl'], "mb_recommend"); ?>>추천인</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input">
<input type="submit" class="btn_submit" value="검색">
</form>
소스는 이렇게 되어있는데요
특정 필드를 지목하지 않고
"전체"를 넣어서
뭘 입력하던 값만 맞으면 나오게 하고 싶은데
가능할까요.
고수님들의 도움 부탁드립니다!
!-->답변 1
옵션에 all 하나넣으시구
<option value="all"<?php echo get_selected($_GET['sfl'], "all"); ?>>전체</option>
member_list.php 상단에
sql_search .= " and ( "; switch ($sfl) {
여기 검색 관련 스위치문 있을꺼에요
여기에 case추가해서 all일때 처리해줍니다
case 'all' : $sql_search .= " ( 컬럼 like '{$stx}%' ) or ( 컬럼 like '{$stx}%' ) "; beak;
컬럼에는 대상이 될 컬럼값(mb_id, mb_nick, mb_name 등등)을 넣으시고
or ( 컬럼 like '{$stx}%' ) 으로 전체 다넣으시던지 원하는것만 넣으시던지해서 계속 추가해서 넣으시면됩니다
그럼 all선택하고 검색어 입력했을때 해당되는 컬럼값 전체를 검색합니다
물론 이경우엔 체크하는곳이 많아지기때문에 데이터가 많을경우 서치에 시간이 걸릴수있습니다
답변을 작성하시기 전에 로그인 해주세요.