mysql구문 질문드립니다. 채택완료
안녕하세요
항상 sir 고수님들의 많은 도움을 받고있는 회원입니다.,
다름이아니라 mysql구문 중 궁금한점이 있어 질문드리게되었습니다.
if (!empty($search_keyword)) { ////////////키워드 검색 $where .= " And ( c.c_name like '%{$search_keyword}%') OR ( m.bz_nm like '%{$search_keyword}%' ) OR ( c.c_title like '%{$search_keyword}%' ) OR ( c.c_addr1 like '%{$search_keyword}%' ) OR ( c.c_addr2 like '%{$search_keyword}%' ) OR ( c.c_addr3 like '%{$search_keyword}%' ) "; }
이런식으로 짜여있는데요
하나씩은 검색이 잘되는데 6가지항목을 조합하여 검색하여도 나오게끔 하고싶습니다.
아직 mysql쪽은 초보라 많은 도움 부탁드립니다.
감사합니다!
답변 1개
if (!empty($search_keyword)) { ////////////키워드 검색 $where .= " And ( ( c.c_name like '%{$search_keyword}%') OR ( m.bz_nm like '%{$search_keyword}%' ) OR ( c.c_title like '%{$search_keyword}%' ) OR ( c.c_addr1 like '%{$search_keyword}%' ) OR ( c.c_addr2 like '%{$search_keyword}%' ) OR ( c.c_addr3 like '%{$search_keyword}%' ) ) "; }
답변에 대한 댓글 4개
(그렇지 않다면 /lib/common.lib.php 의 get_sql_search() 함수를 참조해 볼 수 있습니다.)
$where .= get_sql_search('', 'c.c_name||m.bz_nm||c.c_title||c.c_addr1||c.c_addr2||c.c_addr3', $search_keyword, 'and');
-------------
위의 코드는.. 아래와 같은 패턴을 처리한 것이라고 보면 됩니다.
$where .= " And (
( c.c_name like '%성남시%')
OR ( m.bz_nm like '%성남시%' )
OR ( c.c_title like '%성남시%' )
OR ( c.c_addr1 like '%성남시%' )
OR ( c.c_addr2 like '%성남시%' )
OR ( c.c_addr3 like '%성남시%' )
)
";
$where .= " And (
( c.c_name like '%만두%')
OR ( m.bz_nm like '%만두%' )
OR ( c.c_title like '%만두%' )
OR ( c.c_addr1 like '%만두%' )
OR ( c.c_addr2 like '%만두%' )
OR ( c.c_addr3 like '%만두%' )
)
";
바로 적용해봐야겠네요~
감사합니다^^
정말 감사드립니다.
즐거운 하루 되세요^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
바로 적용해보았는데 기존과 결과가 같습니다.
예를들어 성남시만 검색, 만두만 검색하면 따로따로는 잘나오는데
성남시 만두를 검색하면 나오지않고있습니다.ㅜㅜ