Автор Тема: поиск в mysql  (Прочитано 4122 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« : 17 Мая 2002, 13:05:42 »
нужно осуществить поиск в бд mysql по одному/нескольким словам.

в запросе для бд есть такой параметр, как LIKE, но он по моему слегка криво работает.
например, когда набираешь fff в инпуте, а этого fff естественно, в помине нету, он все равно умудряется находить документ.

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #1 : 17 Мая 2002, 13:12:01 »
1. тебе надо не в ПХП а в базы данных писАть ...
2. LIKE работает нормально. Покажи свой запрос.
На Машине Тьюринга далеко не уедешь.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #2 : 17 Мая 2002, 13:21:12 »
почему не сюда? ведь можно извратиться ;)

ну я впрочем тут новичек, поэтому распорядков не знаю.

ок, вот запрос

SELECT documents.body, documents.header, documents.id from documents WHERE ((documents.body LIKE \'%ddd%\')) and documents.type<>1 LIMIT 200

например так:)

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #3 : 17 Мая 2002, 13:37:38 »
и что оно тебе выводит? :)
documents.body у тебя какого типа?
На Машине Тьюринга далеко не уедешь.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #4 : 17 Мая 2002, 13:44:26 »
что выводит... нет результатов выводит:)

тип - longtext

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #5 : 17 Мая 2002, 13:51:46 »
ниче не понимаю..
ты пару сообщений назад сказала, что оно умудряется находить документы, в которых и в помине нет заданных строчек
а теперь говоришь, что оно ничего не находит?
так оно делает то, что тебе нужно или не делает?
и если не делает, то что именно оно делает не так?
На Машине Тьюринга далеко не уедешь.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #6 : 17 Мая 2002, 13:58:43 »
ну короче, если набрать aaa то не находит, а если fff - находит:)

и еще - я вписываю в поле для поиска слово (или часть слова), который заведомо есть на странице, а оно его не находит :(

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #7 : 17 Мая 2002, 14:05:04 »
так я тебе ничего не скажу ...
можешь скинуть мне дамп таблицы на greta@ensita.net ?
На Машине Тьюринга далеко не уедешь.

Оффлайн yennifer

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #8 : 17 Мая 2002, 14:08:00 »
не, я все таки тормоз:)

fff находится, потому что в documents.body у меня хтмль-ники. а там есть цвета типа #fff000 :)

но блин! запрос же не умеет обрабатывать что то типа strip_tags, по моему не умеет

вот я и думаю - какой слоновий поиск у меня получится :(

выбрать все значения из бд, где тип документа - текст, потом в цикле брать значение каждого documents.body , стрипать теги, искать нужное (ые) слова, а есть находит - печатать на экран результать

кшмар :(

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
поиск в mysql
« Ответ #9 : 27 Мая 2002, 12:53:33 »

$result
=mysql_query("select blabla where field1=".striptags($peremennaya)." order by filed 155");
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
поиск в mysql
« Ответ #10 : 02 Июня 2002, 14:40:51 »
2AlieN: да нет,  у yennifer, на сколько я понял, html в базе хранится. Так что striptags тут не поможет. Помогут реги в MySQL, где-то читал, что он их поддерживает, только ни синтаксиса, ни источника вспомнить не могу... :(

Кстати под Win поиск с LIKE по кириллице действительно частенько выдает лишнии строки, но под Linux\'ом все нормально.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск в mysql
« Ответ #11 : 02 Июня 2002, 22:49:31 »
Цитировать
Помогут реги в MySQL, где-то читал, что он их поддерживает, только ни синтаксиса, ни источника вспомнить не могу...

... WHERE value1 REGEXP value2
... WHERE value1 RLIKE value2
... WHERE value1 NOT REGEXP value2
... WHERE value1 NOT RLIKE value2
REGEXP и RLIKE - синонимы, value1 - то, что нужно с чем-то сравнить, value2 - собственно регулярное выражение.
Например:
SELECT `field` FROM `table` WHERE `field` NOT RLIKE \'^\'
Литературный перевод с русского и английского на Perl. Дорого!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28