, 여기의 세부 사항PHP와 MySQL
[Products]
id int
name text
category
color
문제는 색상 필드의 값입니다 이것에 약간의 도움이 있습니다, 샘플 값은 다음과 같습니다
GOLDRED
GOLD-RED
GOLD/RED
BLUE/GREEN-RED
WHITE GOLD-YELLOW/ORANGE
내가 할 수 매우 깨끗하고 검색 쿼리 기본 기능
"select * from products where color=".cleanstring($stringval)." limit 1";
function cleanstring($var) {
$newtext = $var;
$newtext = preg_replace("/[^a-zA-Z0-9\s]/", "", $newtext);
$newtext = str_replace(" ", "", $newtext);
$newtext = strtoupper($newtext);
return $newtext;
}
문제를 사용하여이 샘플 컨텐츠 함께 등. 명명 규칙을 사용하여 표준 형식이없는 수천 개의 레코드가 있습니다.
나는 나의 cleanstring()
유사 청소의 값으로 레코드를 선택합니다.
예 :
Query = GOLDRED
선택할 수
GOLD-RED
GOLD RED
GOLDRED
GOLD/RED
GOLDRED
추천할만한 해결책은 무엇입니까? 코드는 PHP/MySQL에 있습니다.
http://regexr.com?34mmg, 당신은 내가 그와 함께, 그 문제를 해봤'LIKE' 절 'LIKE'% GOLDRED % '' –
시도가 그것을 가진 사람을 선택할 수 있다는 것입니다 하이픈과 슬래시 및 공백 – user2173176
mysql의'soundex()'함수에 익숙하지 않지만 그것을 사용해 보았습니까? –