추가로 만든 필드(wr_6)을 검색될 수 있게 하는 방법 문의

추가로 만든 필드(wr_6)을 검색될 수 있게 하는 방법 문의

QA

추가로 만든 필드(wr_6)을 검색될 수 있게 하는 방법 문의

답변 6

본문

고수님들의 조언을 구합니다.

 

wr_6을 추가 필드로 사용하면서 데이터를 Text형태로 입력하고 있습니다.

운영을 하려고 하다 보니 wr_6의 데이터가 검색이 되었으면 해서

메인의 검색 부분과 skin으로 설정되는 search 부분에 ||wr_6을 추가해줬는데

검색이 안되네요. ㅠ_ㅠ

 

제가 아는 방법이 아닌 다른 방법이 있는 건가요?

아니면 데이터를 입력받는 방법을 바꿔야 하는건가요?

 

많은 지도 편달 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 6

'||wr_6' 추가가 아닌 'wr_6' 추가입니다. 

 

※ https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=43 
에서 '2. 게시판 목록 하단에 있는 검색에 추가하는 방법'

안녕하세요.

아래의 내용을 참고해 보세요~

 

https://sir.kr/qa/446931

 

 

어떻게 해보았는데 안되는 것인지 해본 코드를 알려주면 답변이 쉬워지는데... .

sfl에 wr_6 추가하면 됩니다

 

안되면  수정한 검색폼과 스킨 상단에 echo $sql;

넣어서 나온 쿼리문 올려보세요

 

마르스컴퍼니님이 알려주신대로 링크 내용 보고 따라해봤는데요.

제가 뭔가 잘못 추가했나봐요.

 

skin/search/basic/search.skin.php

<select name="sfl" id="sfl">
        <option value="wr_subject||wr_content"<?php echo get_selected($sfl, "wr_subject||wr_6") ?>>제목+태그</option>
        <option value="wr_subject"<?php echo get_selected($sfl, "wr_subject") ?>>제목</option>
        <option value="wr_5"<?php echo get_selected($_GET['sfl'], "wr_5") ?>>출연진</option>
        <option value="wr_6"<?php echo get_selected($_GET['sfl'], "wr_6") ?>>태그</option>
        <option value="mb_id"<?php echo get_selected($sfl, "mb_id") ?>>회원아이디</option>
        <option value="wr_name"<?php echo get_selected($sfl, "wr_name") ?>>이름</option>
    </select>

 

head.php

<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_6">

 

bbs/search.php

case 'wr_name' ; 밑에 추가했습니다.

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_5' :
                            case 'wr_6' :
                                if (preg_match("/[a-zA-Z]/", $search_str))
                                    $str .= "INSTR(LOWER({$field[$k]}), LOWER('{$search_str}'))";
                                else
                                    $str .= "INSTR({$field[$k]}, '{$search_str}')";
                                break;
                    $str .= "$field[$k] = '$s[$i]'";
                    break;

 

이후 case문은 모두 유지했구요.

제대로 잘 안되는게 제가 뭔가 잘못한듯 한데.. 봐주셨음 합니다.

여분필드는 아예 검색을 못하네요..ㅠ_ㅠ

<option value="wr_subject||wr_content"<?php echo get_selected($sfl, "wr_subject||wr_6") ?>>제목+태그</option>

<option value="wr_subject||wr_6"<?php echo get_selected($sfl, "wr_subject||wr_6") ?>>제목+태그</option>

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