2012-11-03 3 views
1

기본 검색 엔진이 있습니다. 한 스크립트에서는 html 웹 페이지에서 단어를 스캔하여 MYSQL 테이블을 채 웁니다. 한 단어 검색을 기반으로 웹 페이지에서 단어가 가장 많이 표시 될 때 검색 결과의 순위를 매 깁니다.복수 검색어 추가 현재 검색어로 검색

하지만 여러 검색어를 사용해야합니다. 내 검색어에서 여러 검색어를 검색 할 수있는 방법이 있습니까?

 $keyword = addslashes($_POST['keyword']); 
    $results = addslashes($_POST['results']); 

     /* Execute the query that performs the actual search in the DB: */ 

     $result = mysql_query(" SELECT p.page_url AS url, 
         COUNT(*) AS occurrences 
         FROM page p, word w, occurrence o 
         WHERE p.page_id = o.page_id AND 
         w.word_id = o.word_id AND 
         w.word_word = \"$keyword\" 
         GROUP BY p.page_id 
         ORDER BY occurrences DESC 
         LIMIT $results"); 

답변

1

가능한 해결책 나는 테스트하지 않았다. 게시물 키워드를 배열로 제출하거나 배열로 별도로 수집하십시오.

그런 다음 내파

$keywords = implode(',', $_POST['keyword']); 

먼저 문자열로 $ 키워드 배열을 변환

w.word_word IN ($keywords) 

를 사용하거나 문에 내파를 넣어 하나. Select from mysql table WHERE field='$array'?

http://data.agaric.com/mysql-where-1-4-5-syntax

:

w.word_word IN (".implode(',', $keywords').") 

어느 쪽이든 당신은 MySQL이

w.word_word IN (keyword1, keyword2, keyword3 ...) 

refrences 읽기와 끝까지