채택완료

search.php 파일 문의

2019-04-15 (월) 14:09:16 3,850

안녕하세요.

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

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

Copy
// 필드의 수만큼 다중 필드 검색 가능 (필드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개 / 댓글 1개

채택된 답변
+20 포인트

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

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

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

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

답변에 대한 댓글 1개

말씀해주신대로 추가내용위치를 옴겼습니다!
조언 감사합니다!^^

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