Доброе время суток. Перейду сразу к делу. Я студент и одно из дополнительных мне заданиё было сделать поисковую систему на php которая будет искать у БД MySQL несколько слов одновременно. Тоесть, будет выдавать результаты где встречается ы первое и второе и третие слово как роздельно так и одновременно, при этом все они будут выводится на екран в порядке спадания - сначала где встречаются 3 слова, потом 2, потом - 1. Есть вариант как это сделать но с реализацыем очень туго. Я думал чтобы зделать поиск по полях таблицы с параметром LIKE %...% где сначала будет искать первое слово и id соответствуещей записи записывать у временную таблицу, потом второе - записывать у 2-ю таблицу, потом 3 - записывать у 3-ю таблицу. Потом ищем нет ли одинаковых id у всех таблицах и записываем количество совпадений в ещё одну таблицу. Удалаем те три таблицы. В конце виводим все с последней таблицы сортируем за количеством совпадений. Идея то есть, а как правильно сделать не знаю. 1) как сделать чтобы поисковик понимал где кончаеться первое слово 2) как правильно написать такой код Помогите пожалуйста. Может у кого есть другие мысли по этому поводу, которые будут легче. Заранье спасибо большое!
ну к примеру есть предложение я иду гулять делим слова $text='я иду гулять'; explode(' ',$text); получаем массив $text[0] //я $text[1] //иду $text[2] //гулять
!Knyaz2010! Сделать выборку можно 1 запросом Code: SELECT * FROM `table` WHERE `col` LIKE `%usl1%` AND `col` LIKE `%usl2%` AND `col` LIKE `%usl3%` UNION SELECT * FROM `table` WHERE (`col` NOT LIKE `%usl1%` AND `col` LIKE `%usl2%` AND `col` LIKE `%usl3%`) OR (`col` LIKE `%usl1%` AND `col` NOT LIKE `%usl2%` AND `col` LIKE `%usl3%`) OR (`col` LIKE `%usl1%` AND `col` LIKE `%usl2%` AND `col` NOT LIKE `%usl3%`) UNION SELECT * FROM `table` WHERE (`col` LIKE `%usl1%` AND `col` NOT LIKE `%usl2%` AND `col` NOT LIKE `%usl3%`) OR (`col` NOT LIKE `%usl1%` AND `col` NOT LIKE `%usl2%` AND `col` LIKE `%usl3%`) OR (`col` NOT LIKE `%usl1%` AND `col` NOT LIKE `%usl2%` AND `col` LIKE `%usl3%`)
Прикольно! Пасибо ребята! Всё отлично заработало! Вы подсказали мне имеено то что надо! Теперь осталось ток мелочи сделать и можна сдавать! Спасибо ещё раз огромное!
можно было ещё рассмотреть mysql boolean search http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html там решения по интереснее