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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 11:07   #1
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию поск на php по нескольким словам!!!

Привет всем!!

у меня такая загвоздка!
нужен поиск по нескольким словам или словосочетаниям!

не врубаюсь как это сделать!!!

заношу в массив предложение и он мне потом такую фигню выдает!
выдает не то что надо и дублирует!!!

перерыл все... но ничего толкового о не могу найти!
нужет дельный совет-указание!

спасибо!!!
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 28.01.2010, 13:13   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Покажи как сам ищешь.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 28.01.2010, 14:51   #3
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

получаю слово!
$slovo = $_POST['search'];

slelect * from table where text = $slovo
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 28.01.2010, 15:30   #4
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Сообщение от ilma55 Посмотреть сообщение
получаю слово!
$slovo = $_POST['search'];

slelect * from table where text = $slovo
Тогда уж slelect * from table where text like '%$slovo%'
ssdm вне форума Ответить с цитированием
Старый 28.01.2010, 15:45   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

при таком поиске, будут найдены лишь точные совпадения фразы.... не думаю что их будет много...
лучше разбивать фразу а составляющие слова, мелкие слова типа предлогов - отсеивать а по оставшимся формировать запрос типа
PHP код:
slelect from table where text '$slovo[0]' and text '$slovo[1]' итд в цикле указывая сколько надо слов 
а заменяя and на or можно добиться
- поиска всех слов в тексте
- поиска любого слова в тексте
ADSoft вне форума Ответить с цитированием
Старый 28.01.2010, 18:04   #6
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

ok!

а как убрать повторения... скрипт будет выводить кажды раз когда найдет совпадения!!!

а если это текст, то там совпадений куча может быть!!! как их убрать!!! те повторы убрать???
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 28.01.2010, 20:15   #7
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Вы конечно простите, но кто будет в поиск вводить текст? Сделайте поиск по ключевым словам.Будет намного лаконичней и быстродействинней.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 12.02.2010, 11:40   #8
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
Вы конечно простите, но кто будет в поиск вводить текст? Сделайте поиск по ключевым словам.Будет намного лаконичней и быстродействинней.
я понимаю, текст никто вводить не станет.
но бывают разные ситуации:

1, я ввожу фразу: to the history of this magic drink
мне нужно чтоб вывел: ...various coffee recipes. We will take you back to the history of this magic drink, show you its origins and get you...

2, я ввожу набор слов: coffee recipes show
и вывод: various coffee recipes. We will take you back to the history of this magic drink, show you its origins and get you

вот что то типа такого!
я убрал все теги! ищу одинаковые вхожденеия (strtoupper, strtolower...)
а вот как сделать 1 и 2 пункты....
в массив загнать это понятно!!!
а вот как делать такую конкретную обрезку фразы???

вот как на этом форуме поиск я сделал!
но вот как сделать такой, как я описал???

я понимаю, извращенец я, но интересно!!!
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос по словам в ListBox nikolai_P Microsoft Office Excel 2 25.01.2013 12:08
Перенос строки по словам в RadioGroup pomz Общие вопросы Delphi 10 27.05.2011 17:56
StringGrid и перенос по словам =) Djem1991 Общие вопросы Delphi 2 19.12.2009 21:24
Пренос по словам pinhead Microsoft Office Excel 4 16.07.2008 05:11
Поск макс. потоков в графах Юль_кА Фриланс 2 09.06.2008 13:31