Автозаполнение MySQL ssue - PullRequest
       2

Автозаполнение MySQL ssue

0 голосов
/ 29 ноября 2011

Я использую это руководство по автозаполнению , чтобы выполнить поиск автозаполнения. Проблема в том, что SQL отображает автозаполнение для более чем одного слова, только если слова в последовательности.

Пример: Быстрая коричневая лиса перепрыгнула через ленивую собаку.

Если поиск выполняется для quick, будут отображаться все результаты, содержащие quick. Но если я выполню поиск для quick lazy, он ничего не отобразит. С другой стороны, если я выполню поиск для quick brown, он отобразит приведенное выше предложение.

Как я могу сделать автозаполнение поиска более чем одним словом в произвольном порядке?

Это SQL:

  $sRequest = "SELECT * FROM `table` WHERE `columnname` LIKE '%{$sParam}%' ORDER BY `columnname`";
        $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
        foreach ($aItemInfo as $aValues) {
            echo $aValues['columnname'] . "\n";
        }

1 Ответ

1 голос
/ 29 ноября 2011

Вы должны разбить ваш массив слов для поиска и создать запрос, подобный этому:

SELECT * FROM `table` 
WHERE `columnname` LIKE '%{$sParam1}%' 
  AND `columnname` LIKE '%{$sParam2}%'
  AND `columnname` LIKE '%{$sParam3}%'
ORDER BY `columnname`";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...