Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2023, 09:56   #1
papus5
Новичок
Джуниор
 
Регистрация: 16.07.2013
Сообщений: 25
По умолчанию Как искать ключевые слова в разных местах в выдаче в PDO

Всем привет. Подскажите пожалуйста, как искать ключевые слова в разных местах? В данное время ищутся только слова под ряд. Если два слова расположены через одно или более слов, то ничего не выводит.

Вот код поиска:

try {
$keywords = $_GET['squery'];
$conn = new PDO("mysql:host=localhost;dbname=na me", "root", "");
$sql="SELECT * FROM `tabname` WHERE
`title` LIKE '%$keywords%' or
`textpost` LIKE '%$keywords%' ORDER BY id desc";
$result = $conn->query($sql);

Заранее спасибо.

Последний раз редактировалось papus5; 05.06.2023 в 10:03.
papus5 вне форума Ответить с цитированием
Старый 05.06.2023, 12:22   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ничего не понятно... что значит подряд, чего ищете?
примеры приведите - что ищете?

судя по названию $keywords - там словА? или же все-так одно словоО?
ADSoft вне форума Ответить с цитированием
Старый 05.06.2023, 12:37   #3
papus5
Новичок
Джуниор
 
Регистрация: 16.07.2013
Сообщений: 25
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
ничего не понятно... что значит подряд, чего ищете?
примеры приведите - что ищете?

судя по названию $keywords - там словА? или же все-так одно словоО?
к примеру, "Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века." - если в инпут ввести допустим "текстов на латинице с начала", то текст выводится, если ввести "текстов начала" - то ничего не выводится.
papus5 вне форума Ответить с цитированием
Старый 05.06.2023, 13:03   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

а с чего бы ему выводится?
почитайте как работает LIKE в запросах....

либо на полнотекстовый поиск переключайтесь и там совсем все по другому...
если хотите так-же через LIKE ... то входную строку обычно разбивают изначально на слова .. причем мелкие незначащие и/ или/ от / да ...итд - отбрасывают т-к слишком много результатов будет, потом составляют с помощью этих слов запрос

типа: ... запрос "кошка и собака" -> 2 слова .... кошка, собака
запрос будет
Код:
(field LIKE %кошка%) && (field LIKE %собака%)
так найдет если ОБА слова есть в проверяемой строке, либо
Код:
(field LIKE %кошка%) ||(field LIKE %собака%)
так - хотя бы одно из них если будет
ADSoft вне форума Ответить с цитированием
Старый 05.06.2023, 13:06   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ну причем конечно ни о каком учете морфологических вещей и более сложных - тут даже заикаться не стоит.... если в строке собака - не найдет при запросе - собаку ....
если все плюшки полнотестового описка и морфологии - то надо какую нить стороннюю бибилу использовать, поисковый движ ... типа sphinx , elasticsearch
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение кода в разных местах на разных разрешениях S_A_N_T_A HTML и CSS 1 29.10.2018 13:35
Ключевые слова Ilai Помощь студентам 7 05.10.2014 14:52
ключевые слова Delphi павеL Общие вопросы Delphi 2 21.01.2012 14:00
Ключевые слова для листания таблицы. vaso1983 БД в Delphi 2 06.06.2009 17:28
ключевые слова beygul Помощь студентам 5 19.05.2009 19:23