Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
메인화면 전체통합 검색창에서 여분필드 검색이 안되는 문제

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

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

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 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로