2013-12-18 2 views
0

데이터베이스에 저장된 태그를 사용하여 텍스트에 태그를 지정하면 많은 양의 텍스트를 입력으로 가져올 것입니다.새로운 PHP 프로젝트에서

| id |  tag  | 
+-------+------------------+ 
| 1 |  Halo  | 
| 2 |  LIMBO  | 
| 3 | Super Mario | 
| 3 | Metal Gear Solid | <-- multiple words as single tag 

의 입력도 처리되기 전에, MySQL의에 저장됩니다

는 그리고 난 내 MySQL 데이터베이스에 저장된 태그의 수백이있다.

이 태그에 대한 각 입력을 어떻게 확인할 수 있습니까? explode(' '? strpos()? LIKE '%TAG1%' OR LIKE '%TAG2%'? ... PHP와 MySQL로 어떻게 최대 성능을 얻을 수 있습니까?

감사합니다.

P.

HTML 형식의 입력은 어떻습니까?

답변

0

최대 일치를 위해 FULLTEXT-index from field tag을 설정하십시오. 그런 다음 쿼리 사용 다음 디자인 :

SELECT * FROM `tags` 
    WHERE MATCH(tag) AGAINST (YOUR_INPUT_VALUE) 

읽기 Full-Text Search Functions

+0

추가로 내가 그들을 더 많거나 적은, 어떻게 여기에 도움이 될 수 있습니다 알고 @SamD –

+0

정규 표현식에 대해 읽어? 'strpos' 메쏘드를 좋아하니? – Webinan

+1

@Webinan 정규식은 훨씬 강력합니다. 그들은 많은 텍스트 조작을 할 수 있고 데이터베이스 측에서 문자열을 추출 할 수 있습니다. 주제에 관한 책이 있습니다. 예를 들어 "mysql-database"라는 태그를 가질 수 있으며 mysql과 데이터베이스를 추출하여 태그와 관련시킬 수 있습니다 –

관련 문제