추가로 만든 필드(wr_6)을 검색될 수 있게 하는 방법 문의
고수님들의 조언을 구합니다.
wr_6을 추가 필드로 사용하면서 데이터를 Text형태로 입력하고 있습니다.
운영을 하려고 하다 보니 wr_6의 데이터가 검색이 되었으면 해서
메인의 검색 부분과 skin으로 설정되는 search 부분에 ||wr_6을 추가해줬는데
검색이 안되네요. ㅠ_ㅠ
제가 아는 방법이 아닌 다른 방법이 있는 건가요?
아니면 데이터를 입력받는 방법을 바꿔야 하는건가요?
많은 지도 편달 부탁드립니다.
답변 6개 / 댓글 2개
마르스컴퍼니님이 알려주신대로 링크 내용 보고 따라해봤는데요.
제가 뭔가 잘못 추가했나봐요.
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_6"<?php echo get_selected($sfl, "wr_subject||wr_6") ?>>제목+태그</option>