|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Поиск в MySQL |
|
|
Поиск в MySQL
|
Пользователь Сообщения: 90 |
Профиль | Сайт | Отправить PM | Цитировать Извините, если повторяюсь с темой, поиск по форуму не работает у вас, а сортировка по теме возвращает 0 строк.
Вопрос по поиску в MySQL. Отсылаем запрос в БД SELECT text FROM main WHERE text LIKE '%как%' OR text LIKE '%все%' Возвращается всё поле text, которое довольно большое, что не удобно для пользователя, зачем ему вывод всего текста, ему нужно только * *слова %заданный запрос% слова. Т.е. как сделать, что бы перед и после искомой фразы стояло несколько слов, а всё остальное вырезалось. |
|
Отправлено: 11:32, 01-10-2004 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Я думаю, лучше обрабатывать результат запроса с помощью средств языка (например PHP), а не с помощью средств базы данных.
PHP для этого предлагает мощный инструмент регулярных выражений, а также некоторые стандартные функции, возможности которых меньше, чем у регулярных выражений, но зато скорость их выполнения больше. |
------- Отправлено: 15:20, 01-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать vadimiron
вообще-то чем больше перекладывается на СУБД (по крайней мере в рамках реляционной модели данных) - тем лучше. Если что-то почему-то не удается - тогда оставляем за PHP. LEXX2002 SUBSTRING, SUBSTRING_INDEX и иже с ними не спасут? А REGEXP ? |
Отправлено: 23:04, 01-10-2004 | #3 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать mar
Я наверно теорию плохо знаю Для меня всегда было удобней пользоваться средствами PHP. Вроде база данных должна хранить данные, а PHP их обрабатывать+закон, что нельзя верить никаким входящим данным. Поэтому у меня сложилось вепчатление, что это должно быть как раз наоборот |
------- Отправлено: 00:12, 02-10-2004 | #4 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать detail.phpclub.net . А какой у вас любимый ресурс?
|
|
------- Отправлено: 02:26, 02-10-2004 | #5 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать vadimiron
Цитата:
Цитата:
ну а про безопасные запросы Prisoner уже написал Могу только добавить, что для того, чтобы иметь возможность хоть минимально доверять тому что мы получаем из базы, класть их (данные) тоже нужно со всеми возможными предосторожностями |
||
Отправлено: 12:17, 02-10-2004 | #6 |
Пользователь Сообщения: 90
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо за SUBSTRING, SUBSTRING_INDEX, прочитал про них, очень хорошая вещь, вот только где ими пользоваться? У меня скрипт $query = "SELECT text FROM main WHERE text LIKE '%". str_replace(" ", "%' OR text LIKE '%", $good). "%'";, а вот куда эту функция вставить я не знаю . Если после $rezultat=mysql_query($query); будет уже переменные, которые уже не обрабатываются MYSQL. Вставлял как WHERE SUBSTRING (text……)….. не возвращает не одной строки.
|
Отправлено: 21:55, 02-10-2004 | #7 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать mar
про то что все по максимуму на перекладывать на базу я с тобой категорически не согласен, дело в том что как правило у хостеров стоит один сервер баз на несколько десятков веб серверов, так что его производительности может не хватать! |
------- Отправлено: 02:01, 06-10-2004 | #8 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Vlad Drakula
по-моему, по этому поводу (равно как и по поводу необходимости разделения серверов я уже не раз отвечала) зы кстати, сервер приложений у хостеров тоже не для тебя одного заведен и, соответственно, апачей (man jail или welcome на *nix-форум ) там тоже может крутиться много По поводу того, что для по-настоящему серьезных проектов нужно ставить свой сервер (пусть на colocation у провайдера), мы (в том числе с тобой) тоже вроде бы говорили ззы а реляционную алгебру пока еще никто не отменял |
Отправлено: 10:20, 06-10-2004 | #9 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать я писал нечно подобное...
могу и объяснить как это написять полностью на MySQL. это будет очень громоздко, т.к. MySQL не поддерживает рамены по регекспам! так что это лучьше делать на ПХП |
------- Отправлено: 21:59, 07-10-2004 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MySQL - MySQL & MySQL-Front | timon4ik | Программирование и базы данных | 2 | 06-04-2008 18:07 | |
Поиск статей по тексту и заголовкам в MySQL | Plutonium 239 | Вебмастеру | 9 | 17-02-2006 17:15 | |
Поиск в IE | Guest | Хочу все знать | 21 | 03-03-2004 09:52 |
|