Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Поиск в MySQL

Ответить
Настройки темы
Поиск в MySQL

Аватара для LEXX2002

Пользователь


Сообщения: 90
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Извините, если повторяюсь с темой, поиск по форуму не работает у вас, а сортировка по теме возвращает 0 строк.

Вопрос по поиску в MySQL.
Отсылаем запрос в БД
SELECT text FROM main WHERE text LIKE '%как%' OR text LIKE '%все%'
Возвращается всё поле text, которое довольно большое, что не удобно для пользователя, зачем ему вывод всего текста, ему нужно только * *слова %заданный запрос% слова. Т.е. как сделать, что бы перед и после искомой фразы стояло несколько слов, а всё остальное вырезалось.


Отправлено: 11:32, 01-10-2004

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Я думаю, лучше обрабатывать результат запроса с помощью средств языка (например PHP), а не с помощью средств базы данных.
PHP для этого предлагает мощный инструмент регулярных выражений, а также некоторые стандартные функции, возможности которых меньше, чем у регулярных выражений, но зато скорость их выполнения больше.

-------
Fortes fortuna adiuvat


Отправлено: 15:20, 01-10-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


vadimiron
вообще-то чем больше перекладывается на СУБД (по крайней мере в рамках реляционной модели данных) - тем лучше. Если что-то почему-то не удается - тогда оставляем за PHP.

LEXX2002
SUBSTRING,  SUBSTRING_INDEX и  иже с ними не спасут?
А REGEXP ?

Отправлено: 23:04, 01-10-2004 | #3


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


mar
Я наверно теорию плохо знаю
Для меня всегда было удобней пользоваться средствами PHP.
Вроде база данных должна хранить данные, а PHP их обрабатывать+закон, что нельзя верить никаким входящим данным.
Поэтому у меня сложилось вепчатление, что это должно быть как раз наоборот

-------
Fortes fortuna adiuvat


Отправлено: 00:12, 02-10-2004 | #4


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


detail.phpclub.net . А какой у вас любимый ресурс?

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 02:26, 02-10-2004 | #5

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


vadimiron
Цитата:
Для меня всегда было удобней
так мы все балансируем между собственным удобством и оптимальным кодом Это не призыв писать все на асемблере
Цитата:
Вроде база данных должна хранить данные
MySQL - не база, а СУБД (почувствуйте разницу )
ну а про безопасные запросы Prisoner уже написал Могу только добавить, что для того, чтобы иметь возможность хоть минимально доверять тому что мы получаем из базы, класть их (данные) тоже нужно со всеми возможными предосторожностями

Отправлено: 12:17, 02-10-2004 | #6


Аватара для LEXX2002

Пользователь


Сообщения: 90
Благодарности: 0

Профиль | Сайт | Отправить 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


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
про то что все по максимуму на перекладывать на базу я с тобой категорически не согласен, дело в том что как правило у хостеров стоит один сервер баз на несколько десятков веб серверов, так что его производительности может не хватать!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 02:01, 06-10-2004 | #8

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
по-моему, по этому поводу (равно как и по поводу необходимости разделения серверов я уже не раз отвечала)
зы кстати, сервер приложений у хостеров тоже не для тебя одного заведен и, соответственно, апачей (man jail или welcome на *nix-форум ) там тоже может крутиться много
По поводу того, что для по-настоящему серьезных проектов нужно ставить свой сервер (пусть на colocation у провайдера), мы (в том числе с тобой) тоже вроде бы говорили
ззы а реляционную алгебру пока еще никто не отменял


Отправлено: 10:20, 06-10-2004 | #9


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


я писал нечно подобное...
могу и объяснить как это написять полностью на MySQL.
это будет очень громоздко, т.к. MySQL не поддерживает рамены по регекспам!

так что это лучьше делать на ПХП

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 21:59, 07-10-2004 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Поиск в MySQL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход