PHP: case 'search'; head ('> Поиск', 'Результаты поиска'); // строгий / нестрогий поиск $s_type = 1; $ij = 'news:interview:archive:documents'; $jfk [news]='новостях'; $jfk [interview]='интервью'; $jfk [archive]='архиве'; $jfk [documents]='документах'; $ij = explode (':', $ij); foreach ($ij as $i) { $bar = "$i WHERE "; $sql = mysql_query ("SELECT * FROM $i LIMIT 1", $mysql); $foo = mysql_fetch_array ($sql); $keys = array_keys($foo); $cher = 'id division caption dujour images mainewsimage conf region source date mainimage'; $cher = explode (" ", $cher); foreach($keys as $kre) { if ((strval($kre)==0)&&($kre!='0')&&(!in_array ($kre, $cher))) { if ($s_type == 1 || count (explode (' ', $req) < 3)) { $bar .= "$kre like '%%$req%%' OR "; } else { $rq = explode (' ', $req); $bar .= "("; foreach ($rq as $rrq) { $bar .= "$kre like '%%$rrq%%' AND "; } $bar .= "1=1) OR "; } } } Это моя конструкция поиска.Для примера. Впринцепе мало чем отличаеться от стандартных типовых и быстрых решений. Но вся эта каляска ищет не слово, а только то что забьешь в поиск. Допустим ищем "Гер" , оно найдем нам "Геракл",Геркулес", "Герундий", а на самом деле надо что бы нашел только отдельное слово "Гер", что бы не искал части слов, а целые слова искал... эээ...понятно выразился? *голова уже не варит*
код не читал, да и не буду, наверно зато знаю, что [sql]SELECT * FROM `таблица` WHERE `поле` LIKE 'Гер%' [/sql] выведет
Эээ...Luge... Не, я не о том. Есть текст. Например : "Блаблабла бла балбла гер блабла бла" и "Блаблабла бла балбла геракл блабла бла" мы ищем слово "гер" и вывестись должен только первый текст который я привел в пример. мм?
Блин.Этот метод не годиться. А если допустим написать регулярное выражение на проверку пробелов до слова и псоле слова, а так же после слова на всякие точки, запятые, тире и двоеточия. ммм, так можно? Если да то не опдскажете с чего начать и как вообще должно это выглядеть..?
Ну я не так хорошо в php. Посмотрите на код выше, там ж придеться все переписывать практически с нуля... Мне кажеться с регулярными вырожениями будет проще и быстрее... Может быть кто нить напишет код за небольшое вознагрождение...?
стопицодстроккода(( А чем не годится выборка из базы с запросом LIKE? Запрос [sql]SELECT * FROM `womans` WHERE `name` LIKE '%мма%';[/sql] Выведет Эмма | Эммалия | Эммануелла Запрос [sql]SELECT * FROM `womans` WHERE `name` LIKE 'Мма%';[/sql] Выведет Ммака | Мманюня Запрос [sql]SELECT * FROM `womans` WHERE `name` LIKE 'Эмм';[/sql] Выведет жестко Эмм | Эмм , но не все похожие варианты.
Я уже так делал))) и не работало. Сейчас проверил, оказываеться у меня поиск тока по заголовку новости, а по содержимому нету))) млиоо %)
ну бывают такие казусы. У меня тож)))) Вроде пишешь - не работает. Все уже просмотрел, а ошибка-то под самым носом)) %)