2011-08-02 3 views
0

PHP를 사용하여 회사의 온라인 FAQ 응용 프로그램을 만들고 있습니다.PHP 태그를 찾으려면 텍스트 필드를 구문 분석

데이터베이스를 FAQ로 채우려면 사용자는 질문, 답변 및 일부 검색 태그를 입력해야합니다.

사용자는 질문을 텍스트 필드에 입력하여 시스템을 검색합니다. 누구든지 SQL 검색에 사용할 키워드를 찾기 위해 질문을 분석 할 수있는 PHP (또는 JavaScript) 모듈을 알고 있습니까?

예를 들어 "회사가 무엇입니까? 인터넷 정책"과 같이 굵게 표시된 항목은 키워드로 식별되어 데이터베이스에서 검색 될 수 있습니까?

답변

0

검색에 특정/선택된 키워드를 사용하려면 검색 태그를 입력하도록 사용자에게 요청하는 것이 제 생각에는 필요하지 않습니다. 두 개의 테이블을 만들었습니다. 하나는 색인 된 기본 열 (keyword)이고 다른 하나는 모든 FAQ 정보를 저장하는 선택한 키워드를 포함하는 것입니다.

$string = $_POST['search_string']; 
$this->db->like('keyword',$string); 
$search = $this->db->get('keywords'); 
if($search->num_rows() > 0){ 
    $keyword = $search->keyword; 
    $this->db->like('faq_content',$keyword); 
    $search_faq = $this->db->get('faqs'); 
    foreach($search_faq->result() as $faq){ 
     echo "<h2>$faq_title</h2><p>$faq_content</p>"; 
    } 
} 

당신이 그것을 데이터베이스 근처에 놓아 전에 SEARCH_STRING 값을 살균을 확인하십시오 PHP는 키워드 테이블을 검색하는 사용자의 텍스트 문자열을 사용합니다.

0

MySQL을 가정 할 때 FULLTEXT 인덱싱을 관련 열에 추가하고 natural language full-text search을 사용하십시오.

그런 다음 AGAINST 절에 입력 된 타이틀을 사용할 수 있어야합니다, 예를 들어

SELECT id, title, body, MATCH (title, body) AGAINST 
('What is the company internet policy') AS score 
FROM faq WHERE MATCH (title, body) AGAINST 
('What is the company internet policy');