Использование результатов запроса для динамического создания HTML - документа — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Использование результатов запроса для динамического создания HTML - документа

2020-04-01 74
Использование результатов запроса для динамического создания HTML - документа 0.00 из 5.00 0 оценок
Заказать работу

Для вывода данных возвращаемых в результате выполнения запроса определенного в DBQUERY применяется тег DBOUTPUT. Внутри этого тега, связанного с конкретным запросом, может находиться обычный текст, теги HTML, ссылки на поля определенные в запросе. При обработке шаблона, содержимое тега DBOUTPUT отправляется клиенту для каждой записи, возвращаемой в результате выполнения запроса, с подстановкой соответствующих значений параметров и полей.

Тег DBOUTPUT имеет следующий синтаксис:

<DBOUTPUT QUERY="имя запроса" MAXROWS=n>
Текст, теги HTML,
ссылки на поля и параметры (т.е. #Name#)
</DBOUTPUT>

Атрибут QUERY применяется для указания имени запроса DBQUERY, результат выполнения которого будет использоваться, а атрибут MAXROWS определяет максимальное количество записей этого запроса, которые будут переданы для вывода в тег DBOUTPUT.

Пример
Для вывода результата выполнения запроса с именем 'AllPersons', отображая имя персоны и телефон, и разделяя записи горизонтальной линией, может использоваться следующая конструкция:

<DBOUTPUT QUERY="AllPersons" MAXROWS=50>
<HR>
#FullName# (Телефон: #Phone#) <BR>
</DBOUTPUT>

Результат обработки этого тега будет иметь вид:

<HR>
Иванов Иван Иванович (Телефон: 222-22-22) <BR>
<HR>
Петров Петр Петрович (Телефон: 444-44-44) <BR>

Вывод результата выполнения запроса в виде таблицы

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

Атрибуты тега DBTABLE:

 

  QUERY - имя DBQUERY, для которого нужно отобразить данные;
  MAXROWS - максимальное количество записей, которое может быть отображено в таблице;
  COLSPACING - количество пробелов, которые будут вставлены между колонками (по умолчанию 2);
  HEADERLINES - количество строк, которые будут отведены для заголовка (по умолчанию 2);
  HTMLTABLE - при наличие этого тега результат запроса будет отображен в виде HTML - таблицы, в противном случае будет использован тег HTML <PRE>.
  BORDER - используетя только вместе с атрибутом HTMLTABLE для отображения рамки в таблице.

Атрибуты тега DBTABLE:

 

  HEADER - текст, который будет выводиться как заголовок колонки;
  WIDTH - ширина колонки в символах (по умолчанию 20);
  ALIGN -выравнивание содержимого колонки (LEFT, RIGHT и CENTER);
  TEXT -заключенный в кавычки текст, определяющий содержимое колонки, в котором могут находиться те же теги, ссылки на параметры и др., что и в теге DBOUTPUT.

Приведем пример использования тегов DBTABLE и DBCOL:

<DBTABLE QUERY "AllPersons" MAXROWS=20>
<DBCOL HEADER="Фамилия Имя Отчество" TEXT="#FullName#">
<DBCOL HEADER="Телефон" TEXT="#Phone#">
<DBCOL HEADER="Дата рождения" TEXT="# DateFormat(Birthday)#">
</DBTABLE>

Дополнительные замечания по созданию DBML - шаблонов

· В шаблонах DBML, для комментариев, используется три тире (<!---), в отличие от двух в HTML (<!--). Эта специальная форма синтаксиса для комментариев позволяет Cold Fusion игнорировать теги и текст, содержащиеся внутри этого комментария.

· Ссылки на другие файлы (графические, HTML и CGI программы), содержащиеся в DBML шаблоне, должны использовать полный путь, начиная с корневого каталога сервера.

· Так как символ '#' является специальным символом в Cold Fusion, то чтобы включить его в область вывода, определяемую тегом DBOUTPUT, нужно в шаблоне использовать два символа '#' вместо одного. Это же правило относится и к двойной кавычке, если этот символ нужно вставить, например, в атрибут SQL (см. следующий абзац).

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

SQL="select ""Full Name"" as FullName from Persons"

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

Использование параметров и переменных в шаблонах

Поля формы и параметры URL

Если в шаблон, с помощью полей формы или в URL, были переданы параметры, то внутри любого тега DBML к этим параметрам можно обращаться, используя следующий синтаксис: #Form.Name#, #URL.Name#. На самом деле, префиксы 'Form.' и 'URL.' могут опускаться, если заранее известно, что не может быть параметров других типов с такими же именами. Это правило относится ко всем типам параметров и переменных.

Переменные окружения CGI

Каждый сеанс связи вызывающий CGI - программу имеет конкретные переменные окружения. Доступ к ним из шаблона осуществляется, также как и к другим параметрам, только используется префикс 'CGI.', например #CGI.REMOTE_ADDR#.


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.