특정필드 검색시 해당 필드만 완전일치 하는 검색어 출력 정보
특정필드 검색시 해당 필드만 완전일치 하는 검색어 출력
본문
            
            
                        여분 필드로 검색을 하는데 1을 검색 하니 11~19까지 나와 버려서 삽질 좀 했습니다.
엄청 간단 한거였는데 삽질 했네요.
원하는 결과는 1을 검색하면 1만 나오게..
common.lib.php
line 585 부분
기존 소스
수정
원하는 필드를 일치 검색 나오게 할려면 아래 소스 추가
분명히 알고 계신 분이 더 많겠지만
질답, 팁에 없는 내용 같아 올려 봅니다.
응용하면 특정 게시판 구분 지어서 쓸 수 있겠네요.
                
                
                엄청 간단 한거였는데 삽질 했네요.
원하는 결과는 1을 검색하면 1만 나오게..
common.lib.php
line 585 부분
기존 소스
                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" :
                    $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 속도가 빠름
				case "wr_25" :
                    if (preg_match("/[a-zA-Z]/", $search_str)) 
                        $str .= "LOWER($field[$k]=LOWER('$search_str')"; 
                    else 
                        $str .= "$field[$k]= '$search_str' "; 
                    break; 
                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 "wr_25" :
                    if (preg_match("/[a-zA-Z]/", $search_str)) 
                        $str .= "LOWER($field[$k]=LOWER('$search_str')"; 
                    else 
                        $str .= "$field[$k]= '$search_str' "; 
                    break; 
분명히 알고 계신 분이 더 많겠지만
질답, 팁에 없는 내용 같아 올려 봅니다.
응용하면 특정 게시판 구분 지어서 쓸 수 있겠네요.
                        
                추천
                
0
                
    0
댓글 3개

                
                    정말 좋은 정보네요 ~
추천드리고 갑니다 . ^^
                    추천드리고 갑니다 . ^^
                
                    좋은정보 감사합니다~                
                
                
            
                    
                
                    수고하셨습니다.