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

검색에 WR_email 을 추가 하고 싶습니다 채택완료

코딩의마술사 10년 전 조회 1,911

 

이렇게 값을 추가했는데

 

검색은 되는데 abc@abc.com 이면

 

a만 검색 해도 나오고

 

b만 검색해도 나오는데

 

제가 원하는것은

 

abc@abc.com 를 정확하게 입력했을경우에만 나오는 값을 만들고 싶습니다

 

방법이 없는건지

 

아이디 같은경우는 되던데 왜 이메일은 안되는지 모르곘네요

 

Stx값이 like %a%이런 구문도 없던데........

 

잘모르곘습니다 도와주시면 감사합니다 

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

답변 2개

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

그누보드4 기준으로

/lib/common.php 파일을 보시면

 

function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')

함수가 있습니다.

 

해당 함수에 중간에  switch 문이 있는데

 

</p><p>            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;
            }
​

 

위와 같이 되어있는 부분에

                case "mb_id" :                 case "wr_name" :

여기 바로 밑에

                case "wr_email" :

을 추가하시면 원하시는 형태가 됩니다. 다만 대소문자도 구분하게 됩니다.

case 에 걸리지 않는 부분은 맨 아래 default 로 동작합니다.

 

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

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

감사합니다~ 

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

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

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

로그인