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

회원관리 검색 질문드립니다. 채택완료

그누배우자 5년 전 조회 1,786

안녕하세요.

회원관리에서 검색 부분 질문드립니다.

 

</p>

<p><form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get"></p>

<p><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="검색"></p>

<p></form></p>

<p>

 

소스는 이렇게 되어있는데요

특정 필드를 지목하지 않고

"전체"를 넣어서

뭘 입력하던 값만 맞으면 나오게 하고 싶은데

가능할까요.

고수님들의 도움 부탁드립니다!

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

답변 1개

채택된 답변
+20 포인트
Policia
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개

그누배우자
5년 전
정말 감사합니다.
case 'all' : $sql_search .= " ( mb_id like '{$stx}%' ) or ( mb_name like '{$stx}%' ) or ( mb_1 like '{$stx}%' ) "; beak;

이런식으로 추가 하는ㄱ ㅔ맞나요?ㅠ
P
Policia
5년 전
네넹
그누배우자
5년 전
or (mb_tel like '{$stx}%') or (mb_hp like '{$stx}%')

이렇게 전화번호, 폰번호도 넣었는데
이건 검색이 안되더라구요
혹 다르게 해야 하는건가요
P
Policia
5년 전

'{$stx}%' 이부분 그냥
'%{$stx}%'
이렇게 바꿔주세요
그누배우자
5년 전
정말 감사합니다!^_^

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

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

로그인