전체검색에서 여분필드 검색되게

전체검색에서 여분필드 검색되게

QA

전체검색에서 여분필드 검색되게

답변 1

본문

지금 3시간 가량 검색하고도 해결이 되지 않아 도움 요청합니다ㅠㅠ

검색 스킨에 가면 잘 되는데 왜 전체 통합검색만 안되는지 모르겠네요...

우선 수정 한 부분 말씀드릴 게요

 

head.php 부분

 

    <fieldset id="hd_sch" >
                <legend>사이트 내 전체검색</legend>
                <form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
                <input type="hidden" name="sfl" value="wr_subject||wr_content||wr_2||wr_6||wr_7||wr_8||wr_9">
                <input type="hidden" name="sop" value="and">
                <label for="sch_stx" class="sound_only">검색어 필수</label>
                <input type="text" name="stx" id="sch_stx" maxlength="20" placeholder="검색어를 입력해주세요">
                <button type="submit" id="sch_submit" value="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
                </form>

 

search.php 부분


    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_2' :  
case 'wr_6' :  
case 'wr_7' :  
case 'wr_8' :  
case 'wr_9' :  
                    if (preg_match("/[a-zA-Z]/", $search_str))
                        $str .= "INSTR(LOWER({$field[$k]}), LOWER('{$search_str}'))";
                    else
                        $str .= "INSTR({$field[$k]}, '{$search_str}')";
                    break;
 
 
   $list[$idx][$i]['subject'] = $subject;
            $list[$idx][$i]['content'] = $content;
            $list[$idx][$i]['wr_2'] = $row['wr_2'];
            $list[$idx][$i]['wr_6'] = $row['wr_6'];
            $list[$idx][$i]['wr_7'] = $row['wr_7'];
            $list[$idx][$i]['wr_8'] = $row['wr_8'];
            $list[$idx][$i]['wr_9'] = $row['wr_9'];

search.skin.php 부분

 


<select name="sfl" id="sfl">
        <option value="wr_subject||wr_content||wr_2||wr_6||wr_7||wr_8||wr_9"<?php echo get_selected($sfl, "wr_subject||wr_content||wr_2||wr_6||wr_7||wr_8||wr_9") ?>>제목+내용+필터</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>
        <option value="wr_2||wr_6||wr_7||wr_8||wr_9"<?php echo get_selected($sfl, "wr_2||wr_6||wr_7||wr_8||wr_9") ?>>필터</option>
 
    </select>
 
 <p> <?php echo $list[$idx][$i]['wr_2'] ?></p>
                <p> <?php echo $list[$idx][$i]['wr_6'] ?></p>
                <p> <?php echo $list[$idx][$i]['wr_7'] ?></p>
                <p> <?php echo $list[$idx][$i]['wr_8'] ?></p>
                <p> <?php echo $list[$idx][$i]['wr_9'] ?></p>
 

 

다른 걸 더 수정해야 전체 검색에서 여분필드값이 수정되나요? 도움 주시면 너무 감사하겠습니다ㅠㅠ

이 질문에 댓글 쓰기 :

답변 1

전체검색 화일(bbs/search.php) 코드에서 여분필드는 검색 되지않게 아래처럼 되어있습니다

                default :
                    $str .= "1=0"; // 항상 거짓

위 부분을 게시판 검색에서처럼 바꾸세요

 default :
    if (preg_match("/[a-zA-Z]/", $search_str)) $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
    else $str .= "INSTR($field[$k], '$search_str')";
    break;

 

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