그누보드 검색 기능 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드 검색 기능 질문입니다.

QA

그누보드 검색 기능 질문입니다.

본문

그누보드 검색 기능에서 단어를 2개 밖에 못올리던데 더 많은 단어를 조합하기 위해 푸는 방법이 없을가요? 

 

3750185034_1684670821.7221.png

이 질문에 댓글 쓰기 :

답변 2

자바스크립트쪽도 작업을 해줘야하겠지만. php쪽도 봐주셔야하지 않을까 해서 안내드려봅니다.

/bbs/search.php 69라인쪽을 보시면

 


    $search_query = 'sfl='.urlencode($sfl).'&stx='.urlencode($stx).'&sop='.$sop;
    // 검색필드를 구분자로 나눈다. 여기서는 +
    $field = explode('||', trim($sfl));
    $str = '(';
    for ($i=0; $i<count($s); $i++) {
        if (trim($s[$i]) == '') continue;
        $search_str = $s[$i];
        // 인기검색어
        insert_popular($field, $search_str);
        $str .= $op1;
        $str .= "(";
        $op2 = '';
        // 필드의 수만큼 다중 필드 검색 가능 (필드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;
                default :
                    $str .= "1=0"; // 항상 거짓
                    break;
            }
            $op2 = " or ";
        }
        $str .= ")";
        $op1 = " {$sop} ";
    }
    $str .= ")";

 

요렇게 되어있을겁니다. $field 값이 조건이니 이부분에 맞게 case별로 추가해서 변경해보시면 더 효율적인 검색이 될듯생각됩니다.


var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
    if (f.stx.value.charAt(i) == ' ')
        cnt++;
}
if (cnt > 1) {
    alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
    f.stx.select();
    f.stx.focus();
    return false;
}

 

위의 자바스크립트에서 if (cnt > 1) { 이 부분을 변경하면 됩니다.

1보다 큰수를 넣으면 될 것입니다.

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

회원로그인

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