안녕하세요.
회원관리에서 검색 부분 질문드립니다.
<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개 / 댓글 5개
옵션에 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선택하고 검색어 입력했을때 해당되는 컬럼값 전체를 검색합니다
물론 이경우엔 체크하는곳이 많아지기때문에 데이터가 많을경우 서치에 시간이 걸릴수있습니다
답변에 대한 댓글 5개
이렇게 전화번호, 폰번호도 넣었는데
이건 검색이 안되더라구요
혹 다르게 해야 하는건가요
답변을 작성하려면 로그인이 필요합니다.
case 'all' : $sql_search .= " ( mb_id like '{$stx}%' ) or ( mb_name like '{$stx}%' ) or ( mb_1 like '{$stx}%' ) "; beak;
이런식으로 추가 하는ㄱ ㅔ맞나요?ㅠ