search.php 파일 문의

search.php 파일 문의

QA

search.php 파일 문의

본문

안녕하세요.

 

통합검색에 여분필드를 포함하고자 합니다

 

중간에 잘 모르는 부분 이 있어 코드문의드립니다.

 



        // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
        for ($k=0; $k<count($field); $k++) {
        
            $str .= $op2;
            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;
                case 'com_subnote' :
                case 'com_addr1' :
                case 'com_cate1' :
                case 'com_cate2' :
                default :
                        $str .= "1=0"; // 항상 거짓
                        break;
                }
                $op2 = " or ";
        
            }

 

해당 코드에서 INSTR 부분이 사용될때와 사용하지 않을때 차이가 무었인지 궁금합니다.

여분필드를 아래에 추가하였는데 case문만 추가하여도 되는지요..

 

참고는 http://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=27 를 참고하였습니다.

이 질문에 댓글 쓰기 :

답변 1

com_subnote, com_addr1, com_cate1, com_cate2 이부분이 작성자분께서 추가하신거죠?

 

저렇게 연결해놓으면 default와 연결되어서 위 필드로 검색시 default로 연결됩니다 즉 항상 거짓이게 되버려서 검색결과는 아무것도 안나오게 되겠지요

 

위 부분을 wr_content 밑쪽에다가 붙여보세요

 

INSTR는 INSTR(필드, 검색어)해서 필드에서 해당 검색어가 포함된 결과값을 알려줍니다

답변을 작성하시기 전에 로그인 해주세요.
전체 88
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT