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

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

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

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

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

답변 1개

채택된 답변
+20 포인트

/lib/common.lib.php 파일에

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

아래 부분 참조하세요.

Copy
switch ($field[$k]) {

                case "mb_id" :

                case "wr_name" :

                    $str .= " $field[$k] = '$s[$i]' ";

                    break;

                case "wr_hit" :

                case "wr_good" :

                case "wr_nogood" :

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

                    break;

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

                case "wr_num" :

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

                    break;

                case "wr_ip" :

                case "wr_password" :

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

                    break;

                // LIKE 보다 INSTR 속도가 빠름

                default :

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

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

                    else

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

                    break;

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

답변에 대한 댓글 2개

감사합니다. 덕분에 해결하였습니다.
도움되셨으면 답변 채택 바랍니다.

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

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

로그인
🐛 버그신고