В настоящее время у меня есть функция поиска по базе знаний, которая отфильтровывает массив общих слов (a, способны, о и т. Д.), Чтобы они не отправлялись в запросе.К сожалению, когда кто-то ищет только одно из этих распространенных слов, он ничего не возвращает (тогда как когда он не отфильтрован и не запрашивает, у меня есть код для возврата «Извините, результатов не найдено» и ведение журнала поиска в базе данных).
Мне нужно сделать то же самое для отфильтрованных слов, если они найдены и результаты не найдены, но я не уверен, что это лучший способ сделать это.Ниже приведен отфильтрованный код.
//Defines common words to be striped.
$commonWords = array('a','able', etc)
//Strips common words from being included as a search term
$searchterm = preg_replace("/\b(".implode('|',$commonWords).")\b/i",'',$searchterm);
if(mysql_num_rows($result) == 0) {
echo "<img src=\"images/oops.png\"> Sorry, no results found. <br /><br /><div id=\"custformSubmit\">Chat Now</div>";
//Records missing search terms in a database
mysql_query("INSERT INTO quer (IP, Query) VALUES ('$ip','$search')") or die(mysql_error());;
Я понимаю, что if (mysql_num_rows ($ result) == 0) не работает, потому что на самом деле ничего не ищется при отправке, но я не уверен в лучшемспособ исправить это.
Редактировать: Кроме того, div id 'custformSubmit' вызывает окно чата, чтобы пообщаться с нужным представителем.