|
|
|
Сложная проблема с простым поиском!
|
|||
|---|---|---|---|
|
#18+
Есть таблица "article" в ней поля author,titlearticle,textarticle -надо сделать поиск по заданному слову/сочетанию слов. -поиск должен вестись в каждом из полей -в результате нужно выбрать кусок где было совпадение вывести и выделить совпавшее Не могу придумать как определить при поиске в каком из полей было совпадение т.е. например запись нашлась а в каком поле взять нужный кусок(с совпавшим словом) чтобы вывести? И может же быть такой случай если совпало в заголовке и тексте одновременно... Может есть запрос в котором можно определить где произошло совпадение? Есть идея например пробести поиск во всех записях сначала по одному полю потом по следующему и т.д.(но это не самый лучший вариант) Может есть какойто более простой и оптимальный способ выполнить поставленную задачу на php+MySQ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 12:33 |
|
||
|
Сложная проблема с простым поиском!
|
|||
|---|---|---|---|
|
#18+
вот например: [PHP] $query="SELECT titlearticle,textarticle FROM article WHERE and ((titlearticle LIKE \"%".$what."%\") OR (textarticle LIKE \"%".$what."%\"))"; $result=mysql_query($query); $rows=mysql_num_rows($result); [/PHP] как мне понять в каком поле было совпадение в $row[titlearticle] или $row[titlearticle]? и из содержимого какого поля нужно получить кусок с выделеным совпадением. Вариант проверить рег.выр. во всех, "выдрать" нужную часть с совпадением (если совпадение есть) и выделить его,если не найдено вывести как есть. Ведь если запись удовлетворяет запросу то в каком то из полей всё же это совпадение есть. В результате выделится слово либо в названии либо в тексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:35 |
|
||
|
Сложная проблема с простым поиском!
|
|||
|---|---|---|---|
|
#18+
По описанию логично предположить, что есть некий сайт со статьями, и по нему предполагается поиск с последующим выводом результатов. Возможно, изобретён какой-то концептуально новый вывод этих результатов, но обычный вариант таков (ну с какими-то небольшими дизайнерскими флуктуациями): Выводится заголовок с выделенными словами поиска, ссылкой на полный текст статьи. Под ней выводится отрывок статьи, содержащий выделенный слова поиска с, по возможности, сохранённым контекстом. Если "статьи" маленькие -- можно не городить огород, и выводить не отрывок, а текст полностью. Подумай, реально ли тебе надо определять, где найден результат? Кроме того, учти, что запросы LIKE '%pattern%' индекс не используют и, по мере разрастания базы могут стать оччень неспешными, мб стоит подумать о применении полнотекстового поиска, таки для того он и предназначен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32828396&tid=1854514]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
181ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 498ms |

| 0 / 0 |
