메인화면 전체통합 검색창에서 여분필드 검색이 안되는 문제

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
메인화면 전체통합 검색창에서 여분필드 검색이 안되는 문제

QA

메인화면 전체통합 검색창에서 여분필드 검색이 안되는 문제

본문

구글링으로 하란건 다헀는데 하..안되네요 ㅠㅠ

 

 

1. head.php

 

<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5">

 

추가했구요

 

2. search.php

 

        // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)

        for ($k=0; $k<count($field); $k++) {

            $str .= $op2;

            switch ($field[$k]) {

                case 'mb_id' :

                case 'wr_name' :

case 'wr_1' :

case 'wr_2' :

case 'wr_3' :

case 'wr_4' :

case 'wr_5' :

                    $str .= "$field[$k] = '$s[$i]'";

                    break;

case 'wr_1' :

case 'wr_2' :

case 'wr_3' :

case 'wr_4' :

case 'wr_5' :

                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;

 

 

이렇게 다 추가했구요

 

b4s-basic 폴더에 search.skin.php

 

<option value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5"<?php echo get_selected($sfl, 'wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5') ?>>제목+내용</option>

<option value="wr_1"<?php echo get_selected($_GET['sfl'], "wr_1") ?>>이름</option>

<option value="wr_2"<?php echo get_selected($_GET['sfl'], "wr_2") ?>>번호</option>

<option value="wr_3"<?php echo get_selected($_GET['sfl'], "wr_3") ?>>카톡</option>

<option value="wr_4"<?php echo get_selected($_GET['sfl'], "wr_4") ?>>텔레</option>

<option value="wr_5"<?php echo get_selected($_GET['sfl'], "wr_5") ?>>신청금액</option>

<option value="wr_subject"<?php echo get_selected($sfl, "wr_subject") ?>>제목</option>

<option value="wr_content"<?php echo get_selected($sfl, "wr_content") ?>>내용</option>

 

 

 

 

 

저렇게 추가했는데도

 

 

1. 통합검색에선 검색이 도저히안됩니다 (메인페이지 젤위에 있는 검색창을 말합니다)

 

2. 근데 또 [전체검색 결과]창에서 검색하면 여유필드가 검색이 되네요 ㅡ.ㅠ 

 

어디가 문제일까요..?

 

 

 

 

이 질문에 댓글 쓰기 :

답변 1


            switch ($field[$k]) {
                case 'mb_id' :
                case 'wr_name' :
                    $str .= "$field[$k] = '$s[$i]'";
                    break;
                case 'wr_subject' :
                case 'wr_content' :
                case 'wr_1' :
                case 'wr_2' :
                case 'wr_3' :
                case 'wr_4' :
                case 'wr_5' :
                    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;
             }

위의 코드로 해당 부분을 교체해 보세요..
저 부분이 잘못 되어 있습니다.





        // 필드의 수만큼 다중 필드 검색 가능 (필드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' :
                case 'wr_1' :
                case 'wr_2' :
                case 'wr_3' :
                case 'wr_4' :
                case 'wr_5' :
                    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} ";















이렇습니다 현재 ㅠㅠ

위의 코드로 테스트를 해 봤는데 잘 작동 합니다....
저 부분은 문제가 없습니다....
<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5">
이 부분도 문제가 없습니다.
wr_1 부터 wr_5 까지 값이 들어가 있는지 보세요....

b4s-basic 폴더에 search.skin.php

 

<option value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5"<?php echo get_selected($sfl, 'wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5') ?>>제목+내용</option>

<option value="wr_1"<?php echo get_selected($_GET['sfl'], "wr_1") ?>>이름</option>

<option value="wr_2"<?php echo get_selected($_GET['sfl'], "wr_2") ?>>번호</option>

<option value="wr_3"<?php echo get_selected($_GET['sfl'], "wr_3") ?>>카톡</option>

<option value="wr_4"<?php echo get_selected($_GET['sfl'], "wr_4") ?>>텔레</option>

<option value="wr_5"<?php echo get_selected($_GET['sfl'], "wr_5") ?>>신청금액</option>

<option value="wr_subject"<?php echo get_selected($sfl, "wr_subject") ?>>제목</option>

<option value="wr_content"<?php echo get_selected($sfl, "wr_content") ?>>내용</option>



===> 그럼 여기에 문제가 있을까요??ㅠㅠ

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

회원로그인

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