Intereting Posts
Массивы PHP – удаление дубликатов (временная сложность) Laravel 5 Entrust – пользователи принадлежат ко многим приложениям Laravel 5.1 – получить текущий маршрут PHP: Загрузите входящую электронную почту из POP3 или IMAP, проанализируйте ее и пометьте как чтение / удаление на сервере Адреса получателей не найдены в заголовке Как установить нижний предел в FPDF PHP XMLReader, получить версию и кодировку Расширение PHP xmlrpc и MAMP Facebook Graph API, как получить электронную почту пользователей? WooCommerce отправляет клиенту новый заказ Как отключить параметр CURLOPT_HTTPAUTH в php? Получите больше обратных ссылок из регулярного выражения, чем скобки Amazon s3 Эластичный транскодер ERROR: указанный конвейер не найден Просмотр и действия модулей внутри вкладок Использование Curl для получения удаленного источника страницы, как эхо только одна строка кода на основе его номера

Поиск по нескольким ключевым словам

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

У меня есть таблица:

TABLE A id text 1 Hello there whats up. I'm trying to code. 2 there need to be this code 

Теперь я хочу выполнить поиск с помощью кода Keywords = hello

И результаты должны предоставить мне обе строки, потому что обе строки содержат некоторую часть ключевого слова:

 id text 1 **Hello** there whats up. I'm trying to **code** 2 there need to be this **code** 

Кроме того, результат должен содержать строку с максимальным количеством совпадающих ключевых слов.

Я попытался сделать это, но это только предоставило мне некоторые из моих желаемых результатов.

 <?php $keyword = 'hello code'; $exloded = explode(' ', $keyword); foreach($exploded as value): $sth = $db->query("SELECT * FROM A WHERE `text` LIKE :value"); $sth->execute(array(':value' => '%'.$value.'%')); $rows = $sth->fetchAll(); endforeach; echo $rows; ?> 

обновленный

Я просто сделал это, и это сработало хорошо для меня. Но я хочу знать, правильно ли это делается.

 $keyword = hello code; $query ="SELECT *, MATCH(`page_content`) AGAINST('$keyword' IN BOOLEAN MODE) AS score FROM super_pages WHERE MATCH(`page_content`) AGAINST('$keyword' IN BOOLEAN MODE) ORDER BY score DESC"; $sth = $this->db->query($query); $result = $sth->fetchAll();