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

게시물 검색시에 일치해야만 검색이 되나요? 채택완료

smltree 1년 전 조회 2,236

게시물을 검색하는데 몇몇 새로만든 항목을 검색에 추가하는데

어떤경우는 데이터의 일부만 검색해도 검색이 되는데

어떤경우에는 완전히 일치해야 검색이 되네요?

 

왜 이런걸까요? 전부다 like로 검색이 되게 할수 없을까요?

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

답변 1개

채택된 답변
+20 포인트
e
1년 전

/lib/common.lib.php 파일에

function get_sql_search 함수에서 검색query를 만드는데요.

아래 부분 참조하세요.

</p>

<p>            switch ($field[$k]) {</p>

<p>                case "mb_id" :</p>

<p>                case "wr_name" :</p>

<p>                    $str .= " $field[$k] = '$s[$i]' ";</p>

<p>                    break;</p>

<p>                case "wr_hit" :</p>

<p>                case "wr_good" :</p>

<p>                case "wr_nogood" :</p>

<p>                    $str .= " $field[$k] >= '$s[$i]' ";</p>

<p>                    break;</p>

<p>                // 번호는 해당 검색어에 -1 을 곱함</p>

<p>                case "wr_num" :</p>

<p>                    $str .= "$field[$k] = ".((-1)*$s[$i]);</p>

<p>                    break;</p>

<p>                case "wr_ip" :</p>

<p>                case "wr_password" :</p>

<p>                    $str .= "1=0"; // 항상 거짓</p>

<p>                    break;</p>

<p>                // LIKE 보다 INSTR 속도가 빠름</p>

<p>                default :</p>

<p>                    if (preg_match("/[a-zA-Z]/", $search_str))</p>

<p>                        $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";</p>

<p>                    else</p>

<p>                        $str .= "INSTR($field[$k], '$search_str')";</p>

<p>                    break;</p>

<p>            }</p>

<p>

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

답변에 대한 댓글 2개

s
smltree
1년 전
감사합니다. 덕분에 해결하였습니다.
e
eyekiss
1년 전
도움되셨으면 답변 채택 바랍니다.

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

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

로그인