search.php 파일 문의
본문
안녕하세요.
통합검색에 여분필드를 포함하고자 합니다
중간에 잘 모르는 부분 이 있어 코드문의드립니다.
// 필드의 수만큼 다중 필드 검색 가능 (필드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;
case 'com_subnote' :
case 'com_addr1' :
case 'com_cate1' :
case 'com_cate2' :
default :
$str .= "1=0"; // 항상 거짓
break;
}
$op2 = " or ";
}
해당 코드에서 INSTR 부분이 사용될때와 사용하지 않을때 차이가 무었인지 궁금합니다.
여분필드를 아래에 추가하였는데 case문만 추가하여도 되는지요..
참고는 http://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=27 를 참고하였습니다.
!-->답변 1
com_subnote, com_addr1, com_cate1, com_cate2 이부분이 작성자분께서 추가하신거죠?
저렇게 연결해놓으면 default와 연결되어서 위 필드로 검색시 default로 연결됩니다 즉 항상 거짓이게 되버려서 검색결과는 아무것도 안나오게 되겠지요
위 부분을 wr_content 밑쪽에다가 붙여보세요
INSTR는 INSTR(필드, 검색어)해서 필드에서 해당 검색어가 포함된 결과값을 알려줍니다
답변을 작성하시기 전에 로그인 해주세요.