검색어 제외 검색 구현
본문
단어 모두 포함, 문구 정확하게 포함, 하나 이상 포함은 구현 했습니다.
if ( $search_all ) { // 다음 단어 모두 포함
if ( $sql_search != "" ) {
$sql_search .= " and ".get_sql_search($sca, $sfl, $search_all, 'and');
} else {
$sql_search .= get_sql_search($sca, $sfl, $search_all, 'and');
}
}
if ( $search_accurately ) { // 다음 문구 정확하게 포함
if ( $sql_search != "" ) {
$sql_search .= " and ".get_sql_search($sca, $sfl, $search_accurately, 'or', false);
} else {
$sql_search .= get_sql_search($sca, $sfl, $search_accurately, 'or', false);
}
}
if ( $search_onemore ) { // 다음 단어 적어도 하나 포함
if ( $sql_search != "" ) {
$sql_search .= " and ".get_sql_search($sca, $sfl, $search_onemore, 'or');
} else {
$sql_search .= get_sql_search($sca, $sfl, $search_onemore, 'or');
}
}
이런식으로 상세검색으로 구현했는데 단어 제외 검색만 이상하게 작동하네요.
if ( $search_except ) { // 다음 단어 제외
if ( $sql_search != "" ) {
$sql_search .= " and not like ".get_sql_search($sca, $sfl, $search_except, 'and');
} else {
$sql_search .= " not like ".get_sql_search($sca, $sfl, $search_except, 'and');
}
// echo $sql_search;
}
이런식으로 not 처리하면 검색될줄알았는데 실패했습니다.
처음에는 and not 만 처리했었고 해당 방법으로 검색하니 모든 게시물이 나오길래 not like 로 처리했더니 모든 게시글이 안나오네요..
어느부분에서 잘못처리했을까요 ?
혹은 get_sql_search를 사용하면 안되나요 ?
감사합니다.
!-->!-->답변 1
문법이 잘못된거같네요 !
필드명 like '%~~~'
or
필드명 not like '%~~'
이런식으로 되야하는데 ...
get_sql_search 함수 내에서 쿼리만들어주는부분을 수정해야할거같네요
답변을 작성하시기 전에 로그인 해주세요.