Создание страниц поиска и результатов поиска

Последнее обновление 25 апр. 2024 г.
Примечание

Пользовательский интерфейс в Dreamweaver и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver и более поздних версиях. Дополнительные сведения см. в этой статье.

О страницах поиска и результатов поиска

Вы можете использовать Dreamweaver для создания набора страниц, позволяющих пользователям искать в вашей базе данных и просматривать результаты поиска.

В большинстве случаев для добавления этой функции в ваше веб-приложение требуется как минимум две страницы. Первая страница — это страница, содержащая HTML-форму, в которой пользователи вводят параметры поиска. Хотя эта страница фактически не выполняет поиск, она называется страницей поиска.

Вторая необходимая страница — это страница результатов, которая выполняет основную работу. На странице результатов выполняются следующие задачи.

  • Чтение параметров поиска, отправленных со страницы поиска

  • подключение к базе данных и поиск записей;

  • Создание набора записей с найденными записями

  • Отображение содержимого набора записей

    При желании вы можете добавить страницу подробностей. Страница подробностей предоставляет пользователям дополнительную информацию о конкретной записи на странице результатов.

    Если у вас только один параметр поиска, Dreamweaver позволяет добавить возможности поиска в ваше веб-приложение без использования SQL-запросов и переменных. Просто спроектируйте ваши страницы и заполните несколько диалоговых окон. Если у вас более одного параметра поиска, вам нужно написать SQL-инструкцию и определить несколько переменных для неё.

    Dreamweaver вставляет SQL-запрос в вашу страницу. Когда страница выполняется на сервере, каждая запись в таблице базы данных проверяется. Если указанное поле в записи соответствует условиям вашего SQL-запроса, запись включается в набор записей. SQL-запрос фактически создаёт набор записей, содержащий только результаты поиска.

    Например, полевые продавцы могут иметь информацию о клиентах в определённой области, у которых доходы выше определённого уровня. В форме на странице поиска торговый представитель вводит географическую область и минимальный уровень дохода, а затем нажимает кнопку «Отправить», чтобы передать два значения на сервер. На сервере значения передаются в SQL-инструкцию страницы результатов, которая затем создаёт набор записей, содержащий только клиентов в указанной области с доходами выше указанного уровня.

Создание страницы поиска

Страница поиска в вебе обычно содержит поля формы, в которые пользователь вводит параметры поиска. Как минимум ваша страница поиска должна иметь HTML-форму с кнопкой «Отправить».

Чтобы добавить HTML-форму на страницу поиска, выполните следующую процедуру.

Откройте страницу поиска или новую страницу и выберите «Вставить» > «Форма» > «Форма».

На странице создается пустая форма. Возможно, потребуется включить «Невидимые элементы» («Вид» > «Визуальные вспомогательные элементы» > «Невидимые элементы»), чтобы увидеть границы формы, которые представлены тонкими красными линиями.

Добавьте объекты формы, чтобы пользователи могли вводить параметры поиска, выбрав «Форма» в меню «Вставить».

Объекты формы включают текстовые поля, меню, параметры и радиокнопки.Вы можете добавить столько объектов формы, сколько хотите, чтобы помочь пользователям уточнить поиск.Однако имейте в виду, что чем больше параметров поиска на странице поиска, тем сложнее будет ваш SQL-запрос.

Добавьте кнопку «Отправить» в форму (Вставка > Форма > Кнопка).
(Необязательно) Измените название кнопки «Отправить», выбрав кнопку, открыв панель «Инспектор свойств» (Окно > Свойства) и введя новое значение в поле «Значение».

Затем вы укажете форме, куда отправлять параметры поиска, когда пользователь нажмет кнопку «Отправить».

Выберите форму, щелкнув тег <form> в селекторе тегов внизу окна документа, как показано на следующем изображении:
Тег form

В поле «Действие» в панели «Инспектор свойств» формы введите имя файла страницы результатов, которая будет выполнять поиск в базе данных.
Во всплывающем меню «Метод» выберите один из следующих методов, чтобы определить, как форма отправляет данные на сервер:
  • GET отправляет данные формы, добавляя их к URL в виде строки запроса. Поскольку URL ограничены 8192 символами, не используйте метод GET с длинными формами.

  • POST отправляет данные формы в теле сообщения.

  • Default использует стандартный метод браузера (обычно GET).

    Страница поиска готова.

Создание базовой страницы результатов

Когда пользователь нажимает кнопку «Поиск» формы, параметры поиска отправляются на страницу результатов на сервере. Страница результатов на сервере, а не страница поиска в браузере, отвечает за извлечение записей из базы данных. Если страница поиска отправляет на сервер один параметр поиска, вы можете создать страницу результатов без SQL-запросов и переменных. Вы cоздаете базовый набор записей с фильтром, который исключает записи, не соответствующие параметру поиска, отправленному страницей поиска.

Примечание

Если у вас есть несколько условий поиска, необходимо использовать расширенное диалоговое окно «Набор записей» для определения набора записей (см. Создание расширенной страницы результатов ).

Создайте набор записей для хранения результатов поиска

Откройте страницу результатов в окне «Документ».

Если у вас еще нет страницы результатов, cоздайте пустую динамическую страницу («Файл» > «Новый» > «Пустая страница»).

Создайте набор записей, открыв панель "Привязки" ("Окно" > "Привязки"), нажав кнопку "плюс" (+) и выбрав "Набор записей" из всплывающего меню.
Убедитесь, что появится простое диалоговое окно «Набор записей».
Диалоговое окно «Набор записей»

Примечание

Если вместо этого появляется расширенное диалоговое окно, переключитесь на простое диалоговое окно, нажав кнопку «Простой».

Введите имя для набора записей и выберите подключение.

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

Во всплывающем меню «Таблица» выберите таблицу для поиска в базе данных.
Примечание

При поиске по одному параметру вы можете искать записи только в одной таблице. Для поиска в нескольких таблицах одновременно необходимо использовать расширенное диалоговое окно «Набор записей» и создать SQL-запрос.

Чтобы включить в набор записей только некоторые столбцы таблицы, нажмите «Выбранные» и выберите нужные столбцы, щелкнув их в списке с удержанием клавиши CTRL (Windows) или COMMAND (Macintosh).

Включайте только столбцы, содержащие информацию, которую нужно отобразить на странице результатов.

Пока не закрывайте диалоговое окно «Набор записей».Далее вы используете его для получения параметров, отправленных страницей поиска, и создания фильтра набора записей для исключения записей, которые не соответствуют параметрам.

Создание фильтра набора записей

В первом всплывающем меню области «Фильтр» выберите столбец в таблице базы данных, в котором нужно найти сопоставление.

Например, если значение, отправляемое страницей поиска, — это название города, выберите столбец в таблице, содержащий названия городов.

Во всплывающем меню рядом с первым меню выберите знак равенства (он должен быть установлен по умолчанию).
В третьем всплывающем меню выберите «Переменная формы», если форма на странице поиска использует метод POST, или «Параметр URL», если она использует метод GET.

Страница поиска использует переменную формы или параметр URL для передачи информации на страницу результатов.

В четвертом поле введите имя объекта формы, который принимает параметр поиска на странице поиска.

Имя объекта также служит именем переменной формы или параметра URL.Чтобы получить имя, переключитесь на страницу поиска, нажмите объект формы, чтобы выбрать его, и проверьте имя объекта в инспекторе свойств.

Например, предположим, что нужно создать набор записей, включающий только приключенческие поездки в определенную страну.Предположим, в таблице имеется столбец с именем TRIPLOCATION. Также предположим, что HTML-форма на странице поиска использует метод GET и содержит объект меню под названием Location, отображающий список стран.В следующем примере показано, как должен выглядеть раздел «Фильтр»:

Параметры объекта формы

(Необязательно) Нажмите «Тест», введите тестовое значение и нажмите «ОК», чтобы подключиться к базе данных и создать экземпляр набора записей.

Тестовое значение имитирует значение, которое иначе было бы возвращено со страницы поиска.Нажмите «ОК», чтобы закрыть тестовый набор записей.

Получив удовлетворительные результаты, нажмите кнопку «ОК».

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

Следующий шаг — отобразить набор записей на странице результатов.Дополнительную информацию см. в разделе Отображение результатов поиска.

Создание дополнительной страницы результатов

Если страница поиска отправляет на сервер более одного параметра поиска, необходимо написать SQL-запрос для страницы результатов и использовать параметры поиска в переменных SQL.

Примечание

Если у вас есть только одно условие поиска, вы можете использовать простое диалоговое окно Recordset для определения набора записей (см. Создание базовой страницы результатов ).

Откройте страницу результатов в Dreamweaver, а затем создайте набор записей, открыв панель Bindings (Window > Bindings), нажав кнопку Plus (+) и выбрав Recordset из всплывающего меню.
Убедитесь, что появится расширенное диалоговое окно «Набор записей».

В расширенном диалоговом окне имеется текстовая область для ввода SQL-инструкций. Если вместо этого появляется простое диалоговое окно, переключитесь на расширенное диалоговое окно, нажав кнопку Advanced.

Введите имя для набора записей и выберите подключение.

Соединение должно быть с базой данных, содержащей данные, которые пользователь будет искать.

Введите инструкцию Select в текстовой области SQL.

Убедитесь, что оператор включает предложение WHERE с переменными для хранения параметров поиска.В следующем примере переменные называются varLastName и varDept:

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

Чтобы уменьшить количество вводимого текста, вы можете использовать дерево элементов базы данных в нижней части расширенного диалогового окна Recordset. Инструкции см. в разделе Определение расширенного набора записей путем написания SQL.

Справку по синтаксису SQL см. в учебнике SQL по адресу www.adobe.com/go/learn_dw_sqlprimer.

Присвойте переменным SQL значения параметров поиска, нажав кнопку «Плюс» (+) в области «Переменные» и введя имя переменной, значение по умолчанию (значение, которое переменная должна принимать, если значение времени выполнения не возвращается) и значение времени выполнения (обычно объект сервера, содержащий значение, отправленное браузером, например переменная запроса).

В следующем примере ASP HTML-форма на странице поиска использует метод GET и содержит одно текстовое поле с именем LastName и другое с именем Department:

Пример ASP

В ColdFusion значениями времени выполнения будут #LastName# и #Department#. В PHP значения времени выполнения будут равны $_REQUEST["LastName"] и $_REQUEST["Department"].

(Необязательно) Нажмите «Тест», чтобы создать экземпляр набора записей, используя значения переменных по умолчанию.

Значения по умолчанию имитируют значения, которые в противном случае были бы возвращены со страницы поиска. Нажмите «ОК», чтобы закрыть тестовый набор записей.

Получив удовлетворительные результаты, нажмите кнопку «ОК».

Запрос SQL вставляется на вашу страницу.

Следующий шаг — отобразить набор записей на странице результатов.

Отображение результатов поиска

После создания набора записей для хранения результатов поиска необходимо отобразить информацию на странице результатов. Отображение записей может быть простым делом перетаскивания отдельных столбцов из панели «Привязки» на страницу результатов. Можно добавить навигационные ссылки для перемещения вперед и назад по набору записей или создать повторяющуюся область для отображения нескольких записей на странице. Можно также добавить ссылки на страницу сведений.

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

Поместите точку вставки в место, где должна появиться динамическая таблица на странице результатов, и выберите «Вставка» > «Объекты данных» > «Динамические данные» > «Динамическая таблица».
Заполните диалоговое окно «Динамическая таблица», выбрав набор записей, который вы определили для хранения результатов поиска.
Нажмите кнопку «ОК». Динамическая таблица, отображающая результаты поиска, вставляется на страницу результатов.

Создание страницы сведений для страницы результатов

Ваш набор страниц поиска и результатов может включать страницу сведений для отображения дополнительной информации о конкретных записях на странице результатов. В этой ситуации ваша страница результатов также выполняет функцию главной страницы в наборе страниц типа «главная-подчиненная».

Вы можете создать ссылку, которая открывает связанную страницу и передает существующие параметры на эту страницу. Серверное поведение доступно только при использовании серверной модели ASP.

Перед добавлением серверного поведения «Перейти к связанной странице» на страницу убедитесь, что страница получает параметры формы или URL с другой страницы. Задача серверного поведения — передавать эти параметры на третью страницу. Например, вы можете передать параметры поиска, полученные страницей результатов, на другую страницу и избавить пользователя от повторного ввода параметров поиска.

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

В поле «Перейти к связанной странице» нажмите кнопку «Обзор» и укажите файл связанной страницы.

Если текущая страница отправляет данные сама себе, введите имя файла текущей страницы.

Если параметры, которые требуется передать, были получены непосредственно из HTML-формы с использованием метода GET или указаны в URL страницы, выберите параметр «Параметры URL».
Если параметры, которые требуется передать, были получены непосредственно из HTML-формы с использованием метода POST, выберите параметр «Параметры формы».
Нажмите кнопку «ОК».

При нажатии новой ссылки страница передает параметры на связанную страницу с использованием строки запроса.