채택완료

bbs/search.php 검색에서요.

2014-02-15 (토) 10:31:54 4,701
bbs/search.php 검색에서요..
특정필드를 검색하도록 했는데요...
 
검색어로 1을 넣으면 완죤 일치하는 것만 찾지 않고 1, 11, 111, 115, 210 등 1 이 들어 있는것은 모조리 검색을 하네요.
"김" 만 넣으면 성이 김으로 된것을 모조리 찾구요..
 
완죤 일치하게 1만 입력하면 1만 찾구. "김"만 입력하면 없음. 즉 완죤일치하는 값을 검색하게 하려면 어떻게 해야하지는지 좀 갈켜주세요..
힌트라도 주시면 감사하겠습니다.
|

답변 3개

채택된 답변
+20 포인트
         switch ($field[$k]) 
            {
                case "mb_id" :
                case "wr_name" :
                    $str .= "$field[$k] = '$s[$i]'";
                    break;
                case "wr_subject" :
                case "wr_content" :
                    if (preg_match("/[a-zA-Z]/", $search_str))
                        $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
                    else
                        $str .= "INSTR($field[$k], '$search_str')";
                    break;
                default :
                    $str .= "1=0"; // 항상 거짓
                    break;
            }
수정----------------------------------------------
         switch ($field[$k]) 
            {
                case "mb_id" :
                case "wr_name" :
                case "wr_subject" :
                case "wr_content" :
                    $str .= "$field[$k] = '$s[$i]'";
                    break;
                default :
                    $str .= "1=0"; // 항상 거짓
                    break;
            }
2014-02-16 (일) 21:48:27
감사합니다.. 균이님..
2014-02-15 (토) 11:08:02
sql문에서 like 를 검색해서 찾아 보세요

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