SQL Server — PHP разделить строку для логического поиска и создать запрос MSSQL

Я пытаюсь создать строку логического поиска в PHP для создания предложения MSSQL WHERE.

У меня есть строка, которая была введена в поле поиска:
Управляющий И Директор ИЛИ «Офисный Администратор» НЕ Глобальный ИЛИ «ИТ Временное Управление»

Затем я чищу строку и взрываюсь:

$searchText = preg_replace('/(&|\||-|!)(\S+)/imx', '$1 $2', $SampleSearch);
$keywords = explode(' ', $searchText);

Я играл с рядом примеров, чтобы создать предложение Where, но я действительно изо всех сил. Пока я нашел ниже, но не могу заставить его создать. Я перепробовал ряд изменений, но все так же.

$newKeyWords = array();
$string = '';
$counter = 1;
foreach( $keywords as $keyName){
if( $keyName !== 'AND' && $keyName !== 'OR' && $keyName !== 'NOT'){
$string .= ' '.$keyName;
if( $counter == count($keywords) ){
$newKeyWords[] = trim($string);
}
}else{
$newKeyWords[] = trim($string);
$newKeyWords[] = $keyName;
$string = '';
}
$counter++;
}

Я думаю, что условие Where должно выглядеть следующим образом:

WHERE (((Position LIKE '%Managing%') AND (Position LIKE '%Director%')) OR ((Position LIKE '%Office Admin%'))) AND NOT ((Position LIKE '%Global%') OR (Position LIKE '%Interim Managing%'))

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector