Я хочу сделать поиск поиск данных с использованием ввода пользователя в поле. То есть, если пользователь вводит "D + t + y + g, k, j, h" , то нужно искать значения, имеющие буквы "d и t и y и g или k или j или h «. Я попробовал функцию PHP str_replace
, но результат мне не понравился.
//kw is text field...
if($kw != "") {
//here we check for some data in field; if yes, continue below
//c is for ',' replaced in JavaScript
$kw1 = str_replace("c"," OR bcm.keywords LIKE '$kw%' ",$kw);
//p is for '+' replaced in JavaScript//'bcm' is table name.
$kw3 = str_replace("p"," AND bcm.keywords LIKE '$kw%' ",$kw1);
//for appending into main query string
$app.=$kw3;
//$app.=" AND bcm.keywords LIKE '$kw%'";
}
... но для ввода "D + t + y + g, k, j, h" запрос получается так:
AND bcm.keywords LIKE 'Dptpypgckcjch%' t
AND bcm.keywords LIKE 'Dptpypgckcjch%' y
AND bcm.keywords LIKE 'Dptpypgckcjch%' g
OR bcm.keywords LIKE 'D
AND bcm.keywords LIKE 'Dptpypgckcjch%' t
AND bcm.keywords LIKE 'Dptpypgckcjch%' y
AND bcm.keywords LIKE 'Dptpypgckcjch%' gckcjch%' k
OR bcm.keywords LIKE 'D
AND bcm.keywords LIKE 'Dptpypgckcjch%' t
AND bcm.keywords LIKE 'Dptpypgckcjch%' y
AND bcm.keywords LIKE 'Dptpypgckcjch%' gckcjch%' j
OR bcm.keywords LIKE 'D
AND bcm.keywords LIKE 'Dptpypgckcjch%' t
AND bcm.keywords LIKE 'Dptpypgckcjch%' y
AND bcm.keywords LIKE 'Dptpypgckcjch%' gckcjch%' h**
... когда я хочу / нуждаюсь:
AND bcm.keywords LIKE 'D%'
AND bcm.keywords LIKE 't%'
AND bcm.keywords LIKE 'y%'
AND bcm.keywords LIKE 'g%'
OR bcm.keywords LIKE 'k%'
OR bcm.keywords LIKE 'j%'
OR bcm.keywords LIKE 'h%'