Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #43, ИЮНЬ 2004 г.

Мутим интернет-магазин

Roman AKA Docent

Спецвыпуск Xakep, номер #043, стр. 043-008-3


Основные элементы любого магазина: каталог товаров с описанием и ценами - все это хранится в базе данных, корзина, в которой временно хранятся выбранные пользователем товары, и форма для отправления данных о том, куда и кому доставить товар, которой, собственно, и заканчивается процесс шоппинга. Если в магазине есть возможность оплаты по платежным картам, то в этой форме предусматривается выбор способа оплаты, и в зависимости от выбранного способа - скрипт для обработки этих данных. Еще одна немаловажная деталь - панель управления, с помощью которой администраторы могут управлять магазином. Мы будем рассматривать устройство интернет-магазина на примере некоего абстрактного магазина, торгующего, скажем, компьютерными железками, хотя его можно заточить под любые товары. Это всего лишь пример, обладающий минимальной функциональностью, я специально не перегружаю его всякими наворотами и тонкостями - только самое основное, доработаешь его сам под свои конкретные требования. Я предполагаю, что ты знаком с веб-программированием и знаешь, как пишутся основные запросы к базе данных MySQL, поэтому не стану учить тебя писать интернет-приложения, использующие БД с нуля. Если ты не силен в этих технологиях, рекомендую почитать какие-нибудь хорошие книжки или сайты в инете по этой теме, прежде чем продолжать читать статью. В конце я, конечно же, приведу ссылки на некоторые сайты, которые тебе пригодятся.

База данных

Прежде чем приступать к написанию движка, надо разработать и создать базу данных, в которой будут храниться сведения о товарах. У меня в примере база содержит три таблицы, касающиеся товаров и категорий, и одну для хранения информации о сделанных заказах. Первая таблица - категории. В ней будет два поля. Одно содержит уникальный идентификатор категории, который записывается администратором при создании категории латинскими буквами и цифрами - по нему скрипт будет выбирать нужную категорию. Второе поле содержит понятное описание категории - оно может выводиться, например, в качестве кнопки на главной странице магазина, и, нажав на него, можно будет просматривать подкатегории или товары. Допустим, имеется категория "комплектующие", идентификатором можно записать, например, "compl". Вторая таблица - подкатегории. В ней три поля: уникальный идентификатор подкатегории, так же как и в первом случае; во второе записывается идентификатор категории, к которой она относится - тот же самый который занесся в первую таблицу; и, наконец, описание подкатегории. Например, мы в категории "комплектующие" ("compl") создали подкатегорию "системные платы", а ее идентификатор будет, например, "motherboard". И последняя, самая большая таблица, которая содержит описания товаров. Поля в ней зависят только от того, что за товары будут продаваться, какие комментарии и описания к ним нужны, нужна ли картинка и т.д. В нашем примере она выглядит так: первое поле - уникальный идентификатор товара, который можно либо задавать самому, как в предыдущих случаях, либо поручить это дело автоматике, чтобы каждому товару автоматически присваивался уникальный номер; во второе записывается идентификатор категории, чтобы определить, к какой категории относится товар; в третье, соответственно, записывается идентификатор подкатегории. Четвертое поле содержит наименование товара; в пятое можно записать разработчика товара со ссылкой на его сайт; в шестом хранится подробное описание товара; в седьмом - цена; в восьмое можно записать количество данного товара.

Назад на стр. 043-008-2  Содержание  Вперед на стр. 043-008-4