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

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

QA

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

답변 1

본문

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

 

 

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>



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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 498
© SIRSOFT
현재 페이지 제일 처음으로