전체검색에서 여분필드 검색되게 채택완료

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

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

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

head.php 부분

Copy
<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 부분

Copy
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 부분

Copy
<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개

채택된 답변
+20 포인트

전체검색 화일(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;

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변감사합니다ㅠㅠ
여분필드 검색되게!!
정말로 감사드립니다!!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고