테스트 사이트 - 개발 중인 베타 버전입니다

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

badahyun 3년 전 조회 3,265

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

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

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

 

head.php 부분

 

</strong></p>

<p>    <fieldset id="hd_sch" ></p>

<p>                <legend>사이트 내 전체검색</legend></p>

<p>                <form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);"></p>

<p>                <input type="hidden" name="sfl" value="wr_subject||wr_content||wr_2||wr_6||wr_7||wr_8||wr_9"></p>

<p>                <input type="hidden" name="sop" value="and"></p>

<p>                <label for="sch_stx" class="sound_only">검색어 필수</label></p>

<p>                <input type="text" name="stx" id="sch_stx" maxlength="20" placeholder="검색어를 입력해주세요"></p>

<p>                <button type="submit" id="sch_submit" value="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button></p>

<p>                </form></p>

<p><strong>

 

search.php 부분

</strong></p>

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

<p>            $str .= $op2;</p>

<p>            switch ($field[$k]) {</p>

<p>                case 'mb_id' :</p>

<p>                case 'wr_name' :</p>

<p>                    $str .= "$field[$k] = '$s[$i]'";</p>

<p>                    break;</p>

<p>case 'wr_subject' :</p>

<p>case 'wr_content' :</p>

<p>case 'wr_2' :  </p>

<p>case 'wr_6' :  </p>

<p>case 'wr_7' :  </p>

<p>case 'wr_8' :  </p>

<p>case 'wr_9' :  </p>

<p>                    if (preg_match("/[a-zA-Z]/", $search_str))</p>

<p>                        $str .= "INSTR(LOWER({$field[$k]}), LOWER('{$search_str}'))";</p>

<p>                    else</p>

<p>                        $str .= "INSTR({$field[$k]}, '{$search_str}')";</p>

<p>                    break;</p>

<p> </p>

<p> </p>

<p>   $list[$idx][$i]['subject'] = $subject;</p>

<p>            $list[$idx][$i]['content'] = $content;</p>

<p>            $list[$idx][$i]['wr_2'] = $row['wr_2'];</p>

<p>            $list[$idx][$i]['wr_6'] = $row['wr_6'];</p>

<p>            $list[$idx][$i]['wr_7'] = $row['wr_7'];</p>

<p>            $list[$idx][$i]['wr_8'] = $row['wr_8'];</p>

<p>            $list[$idx][$i]['wr_9'] = $row['wr_9'];</p>

<p><strong>

search.skin.php 부분

 

</strong></p>

<p><select name="sfl" id="sfl"></p>

<p>        <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></p>

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

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

<p>        <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></p>

<p> </p>

<p>    </select></p>

<p> </p>

<p> <p> <?php echo $list[$idx][$i]['wr_2'] ?></p></p>

<p>                <p> <?php echo $list[$idx][$i]['wr_6'] ?></p></p>

<p>                <p> <?php echo $list[$idx][$i]['wr_7'] ?></p></p>

<p>                <p> <?php echo $list[$idx][$i]['wr_8'] ?></p></p>

<p>                <p> <?php echo $list[$idx][$i]['wr_9'] ?></p></p>

<p> </p>

<p><strong>

 

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

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

답변 1개

채택된 답변
+20 포인트
3년 전

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

b
badahyun
3년 전
답변감사합니다ㅠㅠ
더블유S
3년 전
여분필드 검색되게!!
정말로 감사드립니다!!

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

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

로그인