Web-сайт, управляемый базой данных

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

Наиболее общепринятый способ привязки базы данных к Web-сайту- использование страниц ASP, которые легко создать с помощью приложения Visual Interdev, либо стра- ниц РНР. Имеется и несколько других способов, однако эти два формата обеспечивают весьма мощные и эффективные средства привязки сайта к базе данных. Страницы ASP (Active Server Pages - Активные страницы сервера), исполняются на информационном сервере Интернета (Internet Information Server- IIS) фирмы Microsoft, либо с помощью дополнительных модулей на других Web-серверах, таких, как Apache. Страницы РНР (аббревиатура от "Personal Home Page" -- "Персональная домашняя страница"; так назы- вался язык РНР до того, как приобрел феноменальную известность) представляют собой препроцессор гипертекста. Иными словами, когда сервер запрашивает страницу с рас- ширением имени .php3 или .php, Web-сервер, прежде чем передавать страницу посети- телю, "читает" эту страницу и заполняет ее нужной информацией. Предоставляемая сер- вером информация содержит результаты запросов базы данных.

Что такое запрос базы данных, и какого рода результаты мы имеем в виду? Когда вы запрашиваете реляционную базу данных, вы обычно запрашиваете информацию, кото- рая заполняет конкретные поля таблицы базы данных, в которой каждая таблица пред- ставляет собой некий набор специфической информации. Предположим, что у вас есть таблица, называемая Widget (Побрякушки), которая содержит список товаров этой раз- новидности - их названия, коды товаров, цвет, стиль, размер и оптовая цена. Если вы используете запросы на языке SQL (Structured Query Language - Язык структурирован- ных запросов), вы можете составить такой запрос SQL базе данных;SELECT widget_name, product_code, color, style, size, price FROM Widget WHERE color="red"

Этот запрос возвращает всю информацию, включенную в таблицу Widget (Побрякушки), для изделий красного цвета, Теперь давайте посмотрим, как с помощью языка РНР можно создать страницу, с помо- щью которой извлекается информация обо всех изделиях красного цвета а вашем ката- логе, хранящемся в базе данных MySQL. Приведенный ниже код не содержит кода HTML, который обычно окружает код РНР, а также не предусматривает никакого кон- троля ошибок.

Если этот запрос базы данных возвращает только одну строку (иными словами, в табли- це Widget (Побрякушки) наличествует только одно изделие красного цвета), страница может выглядеть подобно представленной на Рис. 2.4.

Давайте рассмотрим этот запрос шаг за шагом. Вначале вы задаете переменные, которые вам понадобятся при запросе базы данных MySQL. Поэтому вам надо задать имя хоста как localhost, имя пользователя как widget, пароль для доступа к этой базе данных как widgetsrock, и имя базы данных как Widget^Catalog. Наш запрос базы данных, 'SELECT * FROM Widget WHERE color="red"' указывает базе данных вернуть все поля (*) в таблице Widget (Побрякушки), в которых имя поля color (цвет) равно red (красный).

Далее вы начинаете использовать команды языка РНР, чтобы связаться с базой данных, послать ей запрос командой select, и просмотреть результаты. Команда mysqLnum__rows показывает число строк (число результатов), возвращаемых запросом. В данном случае переменная Snum__results равна 1. Команда mysql_fetch_row выводит результаты в виде отдельных строк с тем, чтобы каждое поле можно было напечатать.

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

Помните, что, вынуждая ваш Web-сервер обрабатывать каждую страницу до того, как она направляется в браузер, вы настолько увеличиваете нагрузку на сервер, что он может оказаться неспособным обрабатывать все запросы. Убедитесь, что у вас есть надлежащие аппаратные и программные средства, необходимые для работы с такой нагрузкой.

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

.

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

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

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

• Автоматически изменяйте содержимое страницы в зависимости от даты или времени.

• Отслеживайте покупки и принимайте заказы.

• Записывайте сеансы работы чата с тем, чтобы впоследствии просмотреть и проанали- зировать информацию.

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

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

• Извлекайте из форм опроса посетителей и вашей базы данных адреса электронной почты и накапливайте их, чтобы использовать в качестве списка рассылки новостей вашей компании, электронных писем с предложением товара, отсылки электронных писем опросными листами, и т.д.

Настройте содержимое вашего Web-сайта под запросы каждого отдельного пользо- вателя.

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

Продолжение темы:

Полезная информация