그누보드 검색 기능 질문입니다.
본문
답변 2
자바스크립트쪽도 작업을 해줘야하겠지만. php쪽도 봐주셔야하지 않을까 해서 안내드려봅니다.
/bbs/search.php 69라인쪽을 보시면
$search_query = 'sfl='.urlencode($sfl).'&stx='.urlencode($stx).'&sop='.$sop;
// 검색필드를 구분자로 나눈다. 여기서는 +
$field = explode('||', trim($sfl));
$str = '(';
for ($i=0; $i<count($s); $i++) {
if (trim($s[$i]) == '') continue;
$search_str = $s[$i];
// 인기검색어
insert_popular($field, $search_str);
$str .= $op1;
$str .= "(";
$op2 = '';
// 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
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' :
if (preg_match("/[a-zA-Z]/", $search_str))
$str .= "INSTR(LOWER({$field[$k]}), LOWER('{$search_str}'))";
else
$str .= "INSTR({$field[$k]}, '{$search_str}')";
break;
default :
$str .= "1=0"; // 항상 거짓
break;
}
$op2 = " or ";
}
$str .= ")";
$op1 = " {$sop} ";
}
$str .= ")";
요렇게 되어있을겁니다. $field 값이 조건이니 이부분에 맞게 case별로 추가해서 변경해보시면 더 효율적인 검색이 될듯생각됩니다.
!-->
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
위의 자바스크립트에서 if (cnt > 1) { 이 부분을 변경하면 됩니다.
1보다 큰수를 넣으면 될 것입니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.