Практика разработки Web-страниц

         

Связь с базой данных с помощью сценария


Чтобы установить связь с базой данных, большинство веб-страниц используют сценарии на веб-сервере. Эти сценарии отправляют запросы к базе данных в форме Структурированного Языка Запросов (Structured Query Language (SQL)). Если вы используете программу для дизайна страницы с особенностями баз данных, вам может не понадобиться писать сценарии или запросы SQL; программа напишет их за вас. Тем не менее, для повышения гибкости при работе с базой данных используют язык написания серверных сценариев.

Например, с помощью Активных Серверных Страниц (Active Server Pages, ASP) на веб-сервере Windows вы можете включить код VBScript в вашу страницу, чтобы установить связь с базой данных Access и запустить запрос:

<% Set Conn =Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data \moe.mdb" Set RS =Conn.Execute("SELECT *FROM contacts WHERE city='Seattle'") Response.Write "Contact Name:"&RS("name") %>

Если на вашем сервере установлен Allaire ColdFusion, вы можете использовать его синтаксис для выполнения повторяющихся элементов (пример предполагает, что вы определили источник данных ColdFusion с названием "moe"):

<cfquery name="cq"datasource="moe"> SELECT *FROM contacts WHERE city='Seattle' </cfquery> <cfoutput query="cq"> Contact Name:#Name# </cfoutput>

Если вы пользуетесь веб-сервером UNIX или Linux, вы можете использовать сценарий PHP, такой, как приведенный ниже, который связывается с базой данных MySQL: (3)

<?php $db =mysql_connect("localhost","root","passwd"); mysql_select_db("moe",$db); $result =mysql_query("SELECT *FROM contacts WHERE city='Seattle'",$db); printf("Contact Name:%s \n",mysql_result($result,0,"name")); ?>

Другие конфигурации

У вас может появиться желание использовать особенности баз данных с другими конфигурациями веб-серверов – если, конечно, они поддерживают и ODBC и ASP. Если, например, ваш веб-сервер не может работать с FrontPage, вы не сможете создать страницы баз данных на сервере или опубликовать их на сервере – но вы вполне можете это обойти. Создайте и протестируйте страницы на своем компьютере или локальном веб-сервере, который может работать с FrontPage. Затем закройте сайт и с помощью программы File Transfer Protocol (FTP) скопируйте все файлы на не-FrontPage веб-сервер.




Некоторые не-Microsoft веб-серверы, вроде веб- сервера Apache, запускаемые на Solaris, Linux или HP_UX, могут запускать ASP с помощью приставки, называющейся Chili!ASP. Если на вашем сервере есть Chili!ASP, серверное дополнение для FrontPage и база данных SQL, доступ к которой вы хотите обеспечить, значит, все в порядке. Сначала создайте страницы базы данных в FrontPage на своем компьютере, или на веб-сервере Microsoft, вроде PWS. Затем опубликуйте страницы на веб-сервере. Чтобы избежать проблем с соединением, используйте источник данных ODBC (DSN) с таким же именем в своем локальном сервере, как и в Apache (или другом) веб-сервере. Обратите внимание, что вы не можете использовать базы данных Microsoft Access в этих серверах. Также помните, что в UNIX информация о связи и имена файлов чувствительны к регистру; обращайте внимание на заглавные и прописные буквы.

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

Обычные страницы HTML являются статическими; каждый раз, когда посетитель просматривает вашу страницу, он видит одно и то же (кроме тех случаев, когда вы опубликовали новую страницу). Если вы хотите обеспечить динамичное содержание или отслеживать информацию, которую вводят посетители, вам необходимо установить связь с системой управления базами данных (DBMS). Например, если вы разрабатываете веб-магазин, вам нужно будет отобразить информацию о продукции и ценах, а также просмотреть информацию о заказах.

Когда веб-страница отображает данные или обновляет базу данных, работают некоторые компоненты. Во-первых, веб-страница содержит код сценария – вперемешку со стандартным HTML, который запускается на сервере и сообщает ему, как связаться с базой данных и отобразить данные. Затем веб-серверу требуется коннектор баз данных или драйвер, который отправляет запросы или инструкции DBMS. И, наконец, это сам DBMS, который сохраняет информацию на диске и исправляет ее. Это может быть или файловая база данных, наподобие Microsoft Access, или мощный сервер баз данных, типа Microsoft SQL Server или Oracle DBMS. Набор инструментов, который вы используете в первую очередь, зависит от выбранного вами веб-сервера.



  • Если вы используете веб- сервер Microsoft, типа Internet Information Server (IIS) или Personal Web Server, лучше всего будет использовать базы данных Access или – для перегруженных сайтов – базы данных SQL Server. Чтобы спроектировать динамические страницы, лучше всего использовать сценарии Active Server Pages (ASP), которые вы можете написать самостоятельно в редакторе типа HomeSite или можете создать динамические страницы без написания программы с помощью Database Results Wizard в FrontPage.
  • Если ваш веб-сервер расширен с помощью Allaire ColdFusion Server, вы можете использовать ColdFusion Markup Language для проектирования веб-страниц, которые будут работать почти с любой базой данных. Как HTML, ColdFusion основан на тэгах, написать его несложно даже дизайнерам, не знакомым с языками программирования.
  • Если вы используете веб-сервер Apache или операционную систему UNIX или Linux, вы можете использовать большинство опций DBMS, включая Sybase SQL Server, Oracle DBMS, PostgreSQL и MySQL. Для создания страниц со сценариями можно использовать язык PHP или напрямую интегрировать базу данных в Common Gateway Interface (CGI) программы, написанные на Perl или C++.


Большинство возможностей FrontPage будут работать и с не-Microsoft веб-серверами, вроде Apache. Однако те особенности программы, которые касаются баз данных, будут работать только с серверами, поддерживающими ASP, вроде Microsoft IIS. Более подробно об этом см. в разделе "Системные требования FrontPage для работы с базами данных".


Содержание раздела