Мы переехали
наш новый сайт mgp.ua

(044) 360-95-52

(044) 360-59-67

(097) 123-96-36


Посмотреть на карте

(044)
360-95-52
360-59-67

Счетчик работающий совместно с базой данных

"... К примеру. Вы хотите получить не только количество заходов, но и информацию о клиентском броузере, и времени захода. ..."

Возможности данного счетчика ограничиваются исключительно Вашим воображением. Все зависит только от структуры базы данных и логики самого счетчика.

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

Выбираем базу данных. Если сайт сильно загружен, то используется промашленные базы данных (MS SQL, Informix, Oracle), если слабо загружен - то Access.

Создаем таблицу со следующими полями:

 

asp5min_20.gif


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

Обратите внимание.

IdCounter - автоинкрементное поле, и будет автоматически заполняться, об этом позаботится енжин ADO, Request_Time также будет заполняться автоматически - для этого используется значение в поле "по умолчанию" Date(), возможно использование Now(), или GET DATE() для SQL-Server.

Сохраните таблицу как T_Counter и дайте своей базе какое - либо имя. В данном случае это не принципиально. Принципиально только место расположения базы данных - ВНЕ отображенных на IIS каталогов, в противном случае - назначьте в менеджемнт консоле премиссию на запись в каталог с базой данных.

Следующий шаг. Создадим Системный ресурс ODBC.

 

asp5min_21.gif


Назначим ресурсу ODBC осмысленное название (MyCounter). На этом работа с базой данных закончена.

Код счетчика.

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

<%
'-- Декларируем переменные --
Dim SQLString, strClient, intCount
'-- Определяем броузер клиента и версию броузера --
Set bc = Server.CreateObject("MSWC.BrowserType")
on error resume next
strClient = bc.browser & " " & bc.version
If strClient = EMPTY Then strClient = "no identy"
Set bc = nothing
'--Подключаемся к ODBС--
Set Conn = Server.CreateObject("ADODB.Connection")
myDSN="DSN=MyCounter;uid="";pwd="""
Conn.open myDSN
'--Текст запроса на вставку в базу данных--
SQLString = "INSERT INTO T_Counter(idClient) SELECT '" & strClient & "';"
'-- Осуществляем запрос --
Conn.Execute(SQLString)
IF Conn.errors.count> 0 THEN Response.write ("Ошибка в запросе!" & SQLString)
'--Блок запроса к базе на выборку--
'--Открываем рекордсет--
Set RS = Server.CreateObject("ADODB.Recordset")
RS.CursorType = adOpenStatic
'--Формируем запрос--
SQLString = "SELECT Last(T_Counter.IdCounter) As LastCounter FROM T_Counter ;"
RS.Open(SQLString), Conn
'--присваиваем переменной значение--
intCount = RS("LastCounter")
IF Conn.errors.count> 0 then
Conn.Close
Set Conn = nothing
Response.write ("Ошибка в запросе!" & SQLString)
else
Conn.Close
Set Conn = nothing
End If
%>

Код получения из базы результата счетчика.

В теле asp-страницы в соответствии с дизайном разместите код:

<%
= intCount
%>

Для подключения INC-файла используйте следующую конструкцию в ASP-файле:

<!-- #Include file="File_name.INC" -->

В дальнейшем будут рассмотрены счетчики-информеры.

 

2006-2009 © Веб-студия MGP.