2011-08-17 5 views
0

내 응용 프로그램에 도서 제목을 쿼리하는 검색 상자가 있으며 순서가 잘못된 단어로 제목을 검색 할 수 있기를 원합니다. 예 : being Huckleberry Finn이 Finn Huckleberry로 검색 되더라도 기록을 다시 얻을 수 있습니다. 전체 텍스트 검색을 살펴 보았지만 여러 개의 조인 된 테이블에서 쿼리를 만들고 싶을 때 너무 복잡해졌습니다. 주변에서 PHP를 사용하여 공백이있는 단어를 분리하고 단어를 배열로 저장하고 WHERE 제목 LIKE "% '의 루프를 수행하면 이상합니다. $ titlekeyword.'% 'for for 배열?순서가 잘못된 단어 검색

아니면 그냥 혼란이 기다리고있는 것입니까? 누군가가 인수 될 것이다 나는 내 응용 프로그램과 너무 이상한 아무것도하고 싶지 않아

+0

알의 같은 쿼리 코드를 생성? – Drewdin

+0

공간에서 제목 키워드를'폭발 '시킬 수 있으며 각 단어를 확인 할 수 있습니다 :'WHERE title LIKE'% Finn % 'AND/OR title LIKE'% Huckleberry % ''. – steveo225

+0

사용자 입력에 '자동 완성'을 적용하는 것이 더 효과적이라고 생각합니다. [jQuery.autocomplete] (http://docs.jquery.com/Plugins/autocomplete) – J0HN

답변

0

SELECT ... WHERE title like '%Finn%' AND title '%Huckleberry%' AND title '%next%' 

implode(' AND ',array_map(function($x){ 
    return '`title` like "%'.$x.'%"'; 
},explode(' ',$str))); 
+0

위의 각 제목은 옆에 있어야합니다 (huckleberry 및 다음 누락). – jschorr

+0

제안 해 주셔서 감사합니다. 그것은 내가 필요로하는 바로 그 것이었다! – ToryT

관련 문제