Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос по поиску PHP + MySQL
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Вопрос по поиску PHP + MySQL

Страниц (1): [1]
 

1. Pirat - 20 Декабря, 2009 - 14:37:22 - перейти к сообщению
Помогите доразобраться пожалуйста...

написал я полнотекстовый поиск используя MATCH () и AGAINST ()....

колонок FULLTEXT в которых надо искать примерно 10-15....

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

или только 10-15 раз проверять через if ???
2. Viper - 21 Декабря, 2009 - 07:50:10 - перейти к сообщению
через алиас и сортировку а потом проверку по if

CODE (text):
скопировать код в буфер обмена
  1. SELECT fields, MATCH (fields) AGAINST ('search* ~text' IN BOOLEAN MODE) AS rel
  2. FROM ...
  3. WHERE MATCH (fields) AGAINST ('search* ~text' IN BOOLEAN MODE)
  4. ORDER BY rel ASC


будут отсортированны по релевантности
а дальше через if можете выбрать наименьший, это и будет макс. совпадение.
надеюсь правильно понял.
3. Pirat - 22 Декабря, 2009 - 14:48:19 - перейти к сообщению
немного не то... или мы друг друга не так поняли......


$fields = 'field1, field2, field3 ......fieldN
SELECT * WHERE MATCH ($fields) AGAINST ('$search')


выполняется скрипт и находит мне совпадение .... к примеру одно.....

так вот как узнать в каком fieldN он его нашел...

 

Powered by ExBB FM 1.0 RC1