StDyavol
Новичок
Проблема с поиском по MySQL... help!!!
Люди, ситуация такая, есть закрытый сайт, где идет постоянное добавление информации в базу...
в перспективе база обещает быть достаточно крупной....
решил написать скрипт поиска по базе....
Реализуется это приблизительно следующим образом:
- пользователь вводит 1/2/3... слов в форму
- идет обработка этой фразв (убираются ненужные пробелы, знаки и т.п.)
- после чего идет запрос к базе следующего вида:
- и дальше, соответственно, - вывод информации пользователю...
--------------------------------------------------------------------
Вот, собственно и сама проблема:
в поле oborud обычно содержатся такие слова: ноутбук, проектор, экран, шнуровые микрофоны и т.д.
когда $search=="Ноутбук" - результатов нет!!!
хотя если $search=="Проектор" или $search=="Экран" или $search=="Шнуровые"- находит все правильно....
По другим полям поиск, вроде ведется корректно....
единственная особенность: в поле oborud: если там вообще есть словоо НОУТБУК, то оно обязательно будет первым!
но я не уверен, что проблема в этом, да и даже если в этом - это ничего не решает!
у всех полей, по которым идет поиск стоит индекс FULLTEXT
вот еще: может в этом дело, но решить проблему не получается.... в таблице все кракозябрами!!!
сайт написан в utf-8... пытался SET NAMES и SET CHARACTER SET, но это ничего не изменило.... я и забил на это....
ведь информация выводится на страницы нормально, а в базе просмотр сей инфу мне не нужен!
ну а раз информация на страницу выводится нормально, поиск идет по всем другим полям корректно, даже в это поле поиск идет корректно, НО ТОЛЬКО НЕ ПРИ ЗАПРОСЕ "НОУТБУК"!!!
Народ, выручайте, не знаю че делать...
всем заранее спасибо!
Люди, ситуация такая, есть закрытый сайт, где идет постоянное добавление информации в базу...
в перспективе база обещает быть достаточно крупной....
решил написать скрипт поиска по базе....
Реализуется это приблизительно следующим образом:
- пользователь вводит 1/2/3... слов в форму
- идет обработка этой фразв (убираются ненужные пробелы, знаки и т.п.)
- после чего идет запрос к базе следующего вида:
PHP:
<?
$zapros=mysql_query ("SELECT `corrector`,`adder`,`date_of_create`,`time`,`org`,`mesto`,`mer`,`oborud`,`date_of_edit`,`addit`,`contact`,`date` FROM `zayavki` WHERE MATCH(`mer`,`org`,`mesto`,`addit`,`oborud`,`adder`) AGAINST('$search')");
?>
--------------------------------------------------------------------
Вот, собственно и сама проблема:
в поле oborud обычно содержатся такие слова: ноутбук, проектор, экран, шнуровые микрофоны и т.д.
когда $search=="Ноутбук" - результатов нет!!!
хотя если $search=="Проектор" или $search=="Экран" или $search=="Шнуровые"- находит все правильно....
По другим полям поиск, вроде ведется корректно....

единственная особенность: в поле oborud: если там вообще есть словоо НОУТБУК, то оно обязательно будет первым!
но я не уверен, что проблема в этом, да и даже если в этом - это ничего не решает!
у всех полей, по которым идет поиск стоит индекс FULLTEXT
вот еще: может в этом дело, но решить проблему не получается.... в таблице все кракозябрами!!!
сайт написан в utf-8... пытался SET NAMES и SET CHARACTER SET, но это ничего не изменило.... я и забил на это....
ведь информация выводится на страницы нормально, а в базе просмотр сей инфу мне не нужен!

ну а раз информация на страницу выводится нормально, поиск идет по всем другим полям корректно, даже в это поле поиск идет корректно, НО ТОЛЬКО НЕ ПРИ ЗАПРОСЕ "НОУТБУК"!!!
Народ, выручайте, не знаю че делать...
всем заранее спасибо!
