미채택 완료

조건문 안에서 sql문 삭제하기?

if($sfl == "fa_subject||fa_content") {
        $sql_search = " and ( INSTR(fa_subject, '$stx') or INSTR(fa_content, '$stx')) ";
    } else if($sfl == "fa_subject") {
        $sql_search = " and ( INSTR(fa_subject, '$stx') ) ";
    } else {
        $sql_search = " and ( INSTR(fa_content, '$stx') )";
    }

 

FAQ 검색부분 코드입니다.

1번째는 전체 검색이고

2번째는 제목 검색이고

3번째는 내용 검색입니다.

 

select * from g5_faq where fm_id = '2' and ( INSTR(fa_subject, '') or INSTR(fa_content, '')) order by fa_id limit 0, 10

아무것도 검색하지 않는다면 위의 밑줄 친 부분이 아예 생성이 안 되었으면 좋겠습니다. 그렇다면 조건문에서 sql문을 삭제시켜야 하는건가요?

어떻게 해야하나요??

|

답변 2개 / 댓글 1개

$sql_search = '';

if($stx && $sfl){

if($sfl == "fa_subject||fa_content") {
        $sql_search .= " and ( INSTR(fa_subject, '$stx') or INSTR(fa_content, '$stx')) ";
    } else if($sfl == "fa_subject") {
        $sql_search .= " and ( INSTR(fa_subject, '$stx') ) ";
    } else {
        $sql_search .= " and ( INSTR(fa_content, '$stx') )";
    }

}

select * from g5_faq where fm_id = '2' {$sql_search} order by fa_id limit 0, 10

 

검색어가 있을경우에만 $sql_search 내용이 나오겠지요?

답변에 대한 댓글 1개

제 코드 아래에
if(!$stx) {
$sql_search = "";
}
이걸 삽입시켜서 해결했습니다! 답변해주셔서 감사합니다!!

답변을 작성하려면 로그인이 필요합니다.