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

영카트 회원관리 닉네임 이름 일부 검색 관련 문의드립니다. 채택완료

닉네임을 회사명으로 활용해서 사용하고 있습니다.

영카트 관리자 회원관리에서 닉네임만 검색시 정확하게 매칭되거나 첫글자쪽이 맞아야만 검색이 되는데 회사명 중 일부분만 넣어도 검색되게 할려면 어떻게 해야되나요 생초보라 잘 모르겠네요

 

ex) 대한민국주식회사 라고 했을때 전체단어나 첫번째 "대한" 넣으면 검색이 되는데 중간단어 "민국"검색했을때 노출이 안되네요. 단어일부로 전체검색되게 하고 싶은데 ... 관련내용 검색해봐도 보이지가 않네요..도움 부탁드리겠습니다.. 아래가 member_list.php 검색조건 관련 쿼리문 같은데 어떻게 수정하면 될까요

$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 .= " ) ";

}

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

답변 1개

채택된 답변
+20 포인트

다음과 같이 앞뒤로 % 를 감싸면 되긴합니다만

</p>

<p>        default:

            $sql_search .= " ({$sfl} like '%{$stx}%') ";

            break;</p>

<p>

 

가능하면 성능에 더 도움이 되는 fulltext search 를 확인해보는걸 추천드립니다.

https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다 큰도움이 되었습니다

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

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

로그인

전체 질문 목록