Назад Содержание Вперед

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

Access поддерживает два динамических формата HTML. Это ASP (Active Server Pages) и IDC/HTX. Мы рассмотрим второй вариант. В этом случае для извлечения данных используются файлы *.idc, а для отображения в IE используется шаблон веб-страницы, описанный в файле *.htx. Что касается использования ASP, то это отдельная большая и интересная тема, которую затрагивать не будем.

Файл *.idc содержит SQL-запросы и данные, используемые IIS для связи с источником данных ODBC (то есть с базой данных Access). Данные содержат название источника, имя пользователя, пароль.

Файл *.htx является html файлом, который содержит шаблоны вместе со вставками получаемыми из запроса в файле *.idc.

В параграфе Пример работы PHP с базами данных MySQL мы рассмотрели использование интерфеса PHP для работы с базами MySQL. Аналогичный пример рассмотрим для баз Access.

Создадим базу данных products.mdb с таблицей clients.

Access

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

Настроим доступ к этим данным через ODBC, как это было показано в параграфе Организация доступа к базам данных Access.

Создадим форму запроса -файл shop.html

<HTML>
<HEAD>
<TITLE>Запрос</TITLE>
<BODY>
<CENTER>
<h3>Информация о наших товарах</h3><P>
<TABLE WIDTH = 400><TR><TD align = right><FORM ACTION="email.idc" METHOD="POST">
Ваша фамилия и имя:
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><P>Ваш email:
<INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30"><P>У нас можно приобрести:
<SELECT NAME="choise" ><OPTION value ="Стулья">Стулья 
<OPTION value = "Рога">Рога
<OPTION value = "Копыта">Копыта
</SELECT><P>
<INPUT TYPE="submit"  VALUE="Отправить запрос!">
</FORM></TD></TR>
</TABLE>
</CENTER>
</BODY>
</HTML>

Обработку запроса будем проводить в файле email.idc

Datasource:products
Template:email.htx
SQLStatement: 
+INSERT INTO  clients (Name,email,choise) VALUES('%NAME%', '%EMAIL%', '%CHOISE%')

SQLStatement: 
+SELECT * FROM clients WHERE clients.Name='%NAME%'

Для вывода данных созданим шаблон, содержащийся в файле email.htx

<html>
<%begindetail%>
<CENTER>
<h3>ООО Рога и копыта </h3>  приветствует Вас, <%Name%>
<p>
Вас интересуют <%choise%>. 
<p> 
Подробную информацию мы пошлем вам на  email:<i><%email%></i>
<p><i>Информация о вас занесена в базу данных.</i>
</CENTER>
<%enddetail%>
</html>

Файл просмотра статистики info.html

<HTML>
<HEAD>
<TITLE>Запрос информации</TITLE>
<BODY>
<CENTER><h3>Информация о наших клиентах</h3><P>
<TABLE WIDTH = 400>
<TR><TD align = right><FORM ACTION="stat.idc" METHOD="POST">
<P>Меня интересуют клиенты выбравшие:
<SELECT NAME="preference" ><OPTION value ="Стулья">Стулья 
<OPTION value = "Рога">Рога
<OPTION value = "Копыта">Копыта
</SELECT><P>
<INPUT TYPE="submit"  VALUE="Отправить запрос!">
</FORM></TD></TR>
</TABLE>
</CENTER>
</BODY>
</HTML>

Файл обработки информации stat.idc

Datasource:products
Template:stat.htx
SQLStatement: 
+SELECT * FROM  clients  WHERE choise = '%CHOISE%'
Шаблон вывода статистикисодержащится в файле stat.htx

<html>
<CENTER>
Клиенты, желающие приобрести  <%choise%>
<p>
<%begindetail%>
<p>
Клиент <%name%> желает приобрести <%choise%>.<BR>
Его Email: <%email%>
<%enddetail%>
</CENTER>
</html>


Назад Содержание Вперед