Показать сообщение отдельно
  #4 (permalink)  
Старый 24.05.2015, 02:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Дело не в БД и шаблонах, как они там завязаны рояли не играет, главное что требуется от этого поиска.

Например, взять Гугл, когда мы набираем что-то в поле для поиска, то могут быть выданы уже готовые наборы. Это уже ранее введенные кем-то слова и фразы для поиска (живой поиск), которые Гугл кеширует. Вот по этим совам/фразам он и будет производить уже сам поиск сперва среди индексированных страниц, на которых это было найдено, затем на остальных.

В вашем случае это будет полнотекстовый поиск по содержимому и для этого текстовые поля sql-таблиц, в которых он будет производиться, должны иметь индекс FULLTEXT. А набираемые слова и фразы в поле для поиска должны искаться не среди этого текста, что накладно будет, а в полях содержащих ключевые слова (что это такое можно найти в сети и почитать) имеющих обычный индекс и связанными с полями текста.

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

Список этих ключевых слов получается асинхронным запросом, и здесь можно использовать плагин выше указанный. А запуск поиска, это просто отправить форму, без всяких функций. Сложных связей между БД и .tpl быть не может, те более не может быть бд и она в .tpl, тем более описанных на клиенте. Шаблон лишь выводит то, что ему предписано, получая от скрипта данные. Вот скрипт делающий запрос в базу, тот знает, что за данные надо запросить и каких полей (для поиска этот параметр задает поле поиска), как их обработать прежде чем отдать в шаблон и т.п. Что-то дополнительное для поиска и что может задаваться на клиенте, это к примеру фильтры, но это никак не связь БД и .tpl, это условия, которые можно задавать произвольно, и которые заранее определяются.

Поэтому чтобы вам "мастера" ответили, необходимо пояснить, что это за сложные связи и в чем искать "чебурашку".

Последний раз редактировалось laimas, 24.05.2015 в 06:11.
Ответить с цитированием