Интернет-магазин «Компьютеры и оргтехника»
За счет постоянной оптимизации ассортимента, внедрения современных логистических и информационных технологий, оптимизации взаимоотношений с поставщиками, а также благодаря использованию эффективных маркетинговых и рекламных средств в 2006 году торговая сеть достигла самых высоких темпов развития в отрасли — порядка 69%в год. База данных comp является основным элементом интернет-магазина… Читать ещё >
Интернет-магазин «Компьютеры и оргтехника» (реферат, курсовая, диплом, контрольная)
Федеральное агентство по образованию Государственное образовательное учреждение Высшего профессионального образования Камская государственная инжинерно-экономическая академия Кафедра «ПИУ»
Курсовая работа по дисциплине «Информационные технологии»
на тему: Интернет-магазин «Компьютеры и оргтехника»
Выполнил:
студент гр. 4368-с Шорин К.В.
Проверил:
старший преподаватель Петров Д.М.
Набережные Челны — 2009
1. Описание задачи
2. Варианты использования системы
3. Описание базы данных
3.1 Структура таблиц
3.2 Описание таблиц
3.3 Схема базы данных
3.4 SQL запросы на создание таблиц
4. Назначение скриптов
5. Описание интерфейса
5.1 Интерфейс сайта
5.2 Интерфейс менеджера
5.3 Интерфейс администратора
6. Тесты для проверки работоспособности системы
6.1 Тестирование системы покупателя
6.2 Тестирование системы менеджера
6.3 Тестирование системы администратора Список использованных источников
1. Описание задачи
Прежде чем приступить к созданию сайта интернет-магазина, рассмотрим подробнее основные задачи, которые он должен будет осуществлять. Начнем с того, для какого круга лиц предназначен сайт, и что им необходимо знать для осуществления покупки.
Интернет-магазин — «Компьютеры и оргтехника» осуществляет продажу системных блоков, мониторов, комплектующих, принтеры, сканеры и т. д. Основным покупателем является лицо, непосредственно связанное с компьютером.
Основными задачами сайта являются:
— авторизованный вход для администраторов сайта и менеджеров;
— список товаров для продажи выводимый с помощью PHP;
— список каталогов, через которые осуществляется вход в таблицу с товарами;
— система должна позволять помещать товар, с указанным количеством, в корзину;
— система должна позволять выбрать варианты оплаты и доставки, с изменением суммы;
— для администратора должна быть возможность редактирования товаров и каталогов, а также пользователей, включается также возможность редактирования информации о фирме и контакты, добавление новостей и редактирование голосования;
— для менеджеров осуществлена возможность просматривания заказов и установления им статуса.
2. Варианты использования системы
При взаимодействии пользователя с системой, последняя выполняет ряд работ, которые образуют вариант использования системы. Рассмотрим каждый вариант использования по отдельности.
Вход в систему осуществляется тремя способами (путями):
— Администратор;
— Менеджер;
— Покупатель.
Два первых из этих способа используют вход с авторизацией.
Охарактеризуем каждый из этих пользователей подробнее.
Покупатель имеет следующие возможности:
1. Просматривать список товаров. При просмотре используется система каталожного хранения товара, то есть товары сгруппированы в каталоги.
2. Помещать товар в корзину.
3. Удалять товар из корзины.
4. Отправлять заказ для дальнейшей ее обработки.
5. Осуществлять поиск по каталогу
Менеджер в свою очередь имеет следующие преимущества и возможности:
1. Вход в систему как менеджер под своим логином и паролем, который вводится.
2. Просмотреть списоки заказов.
3. Изменять статусы заказов.
4. Взять на исполнение заказ под свое имя.
5. Удалять заказ.
Администратор сайта имеет большой перечень преимуществ:
1. Входить в систему как администратор, используя логин и пароль.
2. Редактировать товары и каталоги.
3. Просматривать информацию о пользователях системы, редактировать, добавлять и удалять их.
Вариант 1.1
Название | Просматривать списки товаров | |||
Автор | Шорин К.В. | Последнее обновление | Шорин К.В. | |
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Покупатель | |||
Описание | Покупатель просматривает каталог товаров, фотографии, описание (то есть открытие pdf) | |||
Предварительные условия | Нажимаем пункт из главного меню Каталог или выбираем из меню каталога любой пункт | |||
Выходные условия | 1. Открытие каталога 2. Открытие фотографии товара 3. Открытие описания товара | |||
Нормальное направление | Просмотр одного определенного товара 1. Покупатель открывает страницу 2. Выбирает пункт меню 3. Выбирает каталог, в котором храниться товар 4. Щелкунть по фотографии 5. Система открывает расширенную фотографию в новом окне 6. Щелкаем по описанию 7. Система открывает файл pdf | |||
Альтернативное направление | Просмотр других товаров катлога | |||
Исключения | ; | |||
Включает | ; | |||
Приоритет | Высокий | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 1.2
Название | Помещать товар в корзину | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Покупатель | |||
Описание | Помещать товар в корзину для отправки заказа | |||
Предварительные условия | Нажимаем кнопку поместить в заказ | |||
Выходные условия | 1. Помещение товара в корзину 2. Указание количества товара | |||
Нормальное направление | Просмотр одного определенного товара 1. Покупатель открывает страницу 2. Входит в каталог с товарами 3. Покупатель пишет количество 4. Нажимает кнопку помещения товара в заказ 5. Система открывает окно заказов | |||
Альтернативное направление | Заказ второго товара 1. Нажимаем кнопку переход в каталок 2. Система переходит из корзины в каталог 3. Возврат к пункту 3 | |||
Исключения | ; | |||
Включает | Вариант 1.1 | |||
Приоритет | Высокий | |||
Частота использования | По мере необходимости | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | Предполагается, что покупатель осуществит заказ на несколько товаров сразу | |||
Замечания и вопросы | Нет | |||
Вариант 1.3
Название | Удалять товар с корзины | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Покупатель | |||
Описание | Удаляет товар с корзины | |||
Предварительные условия | Помещение товара в корзину | |||
Выходные условия | Удаление товара | |||
Нормальное направление | Удаление одного товара 1. Покупатель открывает страницу 2. Помещаем товар в корзину (Вариант 4) 3. Удаляет товар с корзины 4. система выдает сообщение об удалении 5. Пользователь нажимает кнопку «ОК» 6. Система перемещается в корзину заказов | |||
Альтернативное направление | Удаление второго товара Переход к пункту 3 | |||
Исключения | ; | |||
Включает | Вариант 1.4 | |||
Приоритет | Средний | |||
Частота использования | Редко | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | Вероятно удаление наскольких видов товаров | |||
Замечания и вопросы | Не прдусмотрена возможность удаления сразу нескольких товаров | |||
Вариант 1.4
Название | Отправка заказа | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Покупатель | |||
Описание | Отправка заказа для дальнейшей обработки | |||
Предварительные условия | Помещение товара в корзину заказов | |||
Выходные условия | Создание заказа, удаление временной таблицы корзины заказа | |||
Нормальное направление | Осуществление первого заказа 1. Покупатель открывает страницу 2. Открывает каталог товаров 3. Помещает товар в корзину 4. Вбор условий оптлаты и отгрузки 5. Заполняет обязательные поля (свои контактные данные) 6. Покупатель нажимает кнопку отправить 7. Появляется сообщение об отправки | |||
Альтернативное направление | Осуществление второго заказа 1. Возврат к пункту 2 | |||
Исключения | Не введены обязательные поля: 1. Система сообщает о том что не введены обязательные поля. 2. Покупатель нажимает «ОК» 3. Система начинает вариант использования заново | |||
Включает | Вариант 1.4 | |||
Приоритет | По мере необходимости | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 1.5
Название | Осуществление поиска | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Покупатель | |||
Описание | Покупатель осуществляет поиск по каталогу | |||
Предварительные условия | Открытие сайта | |||
Выходные условия | Вывод результата поиска | |||
Нормальное направление | Осуществление первого поиска 1. Покупатель открывает страницу 2. Вводит критерий поиска 3. Нажимет Enter 4. Система осуществляет поиск по каталогам и товарам 5. Система выводит результат поиска 6. Пользователь нажимает ок | |||
Альтернативное направление | Второй поиск 1. Переход ко второму пункту | |||
Исключения | ; | |||
Включает | ; | |||
Приоритет | Средний | |||
Частота использования | Всегда | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Не предусмотрено условие, что не найден результат, отображаются пустые таблицы | |||
Вариант 2.1
Название | Входить в систему как менеджер | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Менеджер | |||
Описание | Менеджер входит в систему под своим логином и паролем | |||
Предварительные условия | Запуск сайта | |||
Выходные условия | Вход в систему | |||
Нормальное направление | Вход одного менеджера 1. Менеджер открывает страницу 2. Вводит пароль и логин 3. Нажимает кнопку «ОК» 4. Система выводит кнопку входа 5. Менеджер нажимает кнопку «Вход» 6. система открывает страницу менеджера | |||
Альтернативное направление | Вход следующего пользователя: — Необходимо выполнить все пункты | |||
Исключения | Ввод не верного логина и пароля Система не отвечает | |||
Включает | ; | |||
Приоритет | Высокий | |||
Частота использования | Всегда | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 2.2
Название | Просмотр списка заказов | |||
Автор | Последнее обновление | . | ||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Менеджер | |||
Описание | Менеджер просматривает списки заказов | |||
Предварительные условия | Вход в систему менеджера | |||
Выходные условия | 1. Открытие списка заказов 2. Открытие списка товаров в заказе | |||
Нормальное направление | Просмотр одного заказа 1. Вход в систему как менеджер 2. Выбор пункта меню 3. Осуществить просмотр заказа | |||
Альтернативное направление | Просморт второго заказа Переход ко второму пункту | |||
Исключения | ; | |||
Включает | Вариант 2.1 | |||
Приоритет | Высокий | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 2.3
Название | Изменять статусы заказов | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Менеджер | |||
Описание | Менеджер может изменять статусы — на прибыл, выолнен, выполняется, отменен | |||
Предварительные условия | Вход в систему менеджера | |||
Выходные условия | Изменение статуса заказа | |||
Нормальное направление | Выбор одного статуса 1. Вход в систему как менеджер 2. Выбор пункта меню 3. Выборать изменение статуса 4. Система открывает окно изменение статуса 5. Выбор статуса 6. Система меняет статус в заказе 7. Выбор перехода в список | |||
Альтернативное направление | Выбор второго статуса Переход ко второму пункту | |||
Исключения | ; | |||
Включает | Вариан 2.2 | |||
Приоритет | Высоки | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 2.4
Название | Взять на исполнение заказ под свое имя | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Менеджер | |||
Описание | Менеджер может взять на испольнение заказ | |||
Предварительные условия | Просмотр заказов | |||
Выходные условия | Изменение исполнителя | |||
Нормальное направление | Взять один заказа на исполнение 1. Вход в систему как менеджер 2. Выбор пункта меню 3. Щелкаем по исполнителю 4. система окно менеджеров 5. Нажимает закрепить 6. Система вносит изменения в таблице заказа | |||
Альтернативное направление | Взять второй заказ на исполнение Переход ко второму пункту | |||
Исключения | ; | |||
Включает | Вариант 2.2 | |||
Приоритет | Высокий | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 2.5
Название | Удалять заказ | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Менеджер | |||
Описание | Менеджер может удалять заказы и товары в заказах | |||
Предварительные условия | Вход в систему менеджера | |||
Выходные условия | Удаление заказа или товара в заказе | |||
Нормальное направление | Удаление одного заказа (товара в заказе) 1. Вход в систему как менеджер 2. Выбор пункта меню 3. Удаление 4. Система запрашивает подтверждение удаления 5. Соглашение 6. Система удаляет заказ (товар заказа) | |||
Альтернативное направление | Удаление второго заказа (товара заказа) Переход ко второму пункту | |||
Исключения | Менеджер передумал удалять (пункт 4) 1. пользователь нажал далее в список 2. Система переходит в список товара | |||
Включает | Вариант 2.2 | |||
Приоритет | Высокий | |||
Частота использования | Часто | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | Возможно, заказчик передумал осуществлять покупку | |||
Замечания и вопросы | Нет | |||
Вариант 3.1
Название | Входить в систему как администратор | |||
Автор | Шорин К.В. | Последнее обновление | Шорин К.В. | |
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Администратор | |||
Описание | ||||
Предварительные условия | Запуск сайта | |||
Выходные условия | Вход в систему как администратор | |||
Нормальное направление | Вход первого пользователя 1. Запуск сайта 2. Ввод логина и пароля 3. Система обрабатывает и появлятся кнопка Вход 4. Нажатие кнопки входа 5. Система открывает панель администирования | |||
Альтернативное направление | Вход второго пользователя Повтор всех пунктов | |||
Исключения | ; | |||
Включает | ; | |||
Приоритет | Высокий | |||
Частота использования | При входе в систему | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 3.2
Название | Выполнение действий с товаром и каталогом | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Администратор | |||
Описание | Просмотр и редактирование списка товаров и каталогов | |||
Предварительные условия | Выбор пункта меню каталог | |||
Выходные условия | Изменение данных в таблице товаров (каталогов) | |||
Нормальное направление | Выполнение действий первого товара (каталога) 1. Вход в систему как администратор 2. Вход в каталог товаров 3. Выбор условия редактирования (добавление, изменениу и удаление) 4. Предложение системой выполнение 5. Осуществление пользователем действий (ввод данных, нажатие кнопки ок) 6. Выполнение системой действий (добавление, удаление и изменение) | |||
Альтернативное направление | Выполнение действий со вторым товаром Переход к третьему пункту | |||
Исключения | Администратор отменяет действие (пункт 5): Переход в каталог | |||
Включает | Вариант 3.1 | |||
Приоритет | Высокий | |||
Частота использования | Редко | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
Вариант 3.3
Название | Действие над пользоватилями | |||
Автор | Последнее обновление | |||
Дата создания | 25.01.09 | Дата последнего обновления | 27.01.09 | |
Действующие лица | Администратор | |||
Описание | Добавление, изменение и удаление пользователя | |||
Предварительные условия | Вход в систему как администратор | |||
Выходные условия | Изменение данных в таблице Пользователи | |||
Нормальное направление | Действие над одним пользователем 1. Вход в систему 2. Осуществление действий над данными пользователя 3. Запрос системой на осуществление действий 4. Ввод данных и нажатие ОК 5. Выполнение системой опрации 6. Нажатие кнопки далее | |||
Альтернативное направление | Действие над вторым пользователем Выполнение со второго пункта | |||
Исключения | Отказ осуществления действий (пункт 3) Нажатие кнопки далее | |||
Включает | Вариант 3.1 | |||
Приоритет | Высокий | |||
Частота использования | При необходимости | |||
Бизнес-правила | ; | |||
Особые требования | нет | |||
Допущения | ; | |||
Замечания и вопросы | Нет | |||
3. Описание базы данных
База данных comp является основным элементом интернет-магазина «Компьютеров и оргтехники». Эта база данных позволяет хранить данные, которые являются основным источником для отображения информации, а именно: каталоги и содержащиеся в нем товары, пользователи, заказы и операции с ними, информацию о заказчиках и новости.
Управление базой данных занимается администраторы, которые являются основными пользователями, добавляющим в базу данных информацию. Все они зарегистрированы в базе данных под именами типом пользователей № 2. Менеджеры объединены в группу 1. Другая группа пользователей называется не зарегестирована в таблице user, она тесно связана с заказами и регистрируются данный тип пользователей во время отправки заказа.
3.1 Структура таблиц
Моя база данных, то есть apogey содержит семь таблиц, шесть из которых созданы в PhpMyAdmin, одна создается в php скрипте при запуске сайта.
Рассмотрим их структуру:
razd — каталоги компьюторов
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
nazv | varchar (50) | Текстовое название каталога | ||
por | int (11) | Порядковый номер каталога | ||
razd2- каталоги оргтехники
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
nazv | varchar (50) | Текстовое название каталога | ||
por | int (11) | Порядковый номер каталога | ||
tovar — товары
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
vid | int (11) | Вид каталога | ||
nazv | varchar (50) | Текстовое название товара | ||
foto | varchar (50) | Путь к рисунку товара | ||
opisanie | text | Текстовое описание товара | ||
zena | float | Цена товара | ||
tovar_zakaz — заказанные товары
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
id_zakaz | int (11) | Код заказа (заказчика) | ||
id_tovar | int (11) | Код товара | ||
kol | int (11) | Количество товара | ||
summa | float | Сумма заказанного товара | ||
user — пользователи
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
tip | int (11) | Номер типа пользователя | 1-менеджер, 2-админ | |
login | varchar (50) | Логин пользователя | ||
fio | varchar (50) | Фамилия, Имя, Отчество пользователя | ||
varchar (50) | Электронная почта пользователя | |||
pass | varchar (50) | Пароль пользователя | ||
zak — временная таблица заказанных товаров
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
id_tovar | int (11) | Код товара | ||
nazv | varchar (20) | Название заказанного товара | ||
firma | varchar (10) | Фирма заказанного товара | ||
foto | varchar (50) | Путь к фотографии | ||
opisanie | text | Описание заказанного товара | ||
zena | float | Цена заказанного товара | ||
kol | int (11) | Количество заказанного товара | ||
zakaz — заказ и заказчик
Поле | Тип | Функционал | Описание | |
id | int (11) | Уникальный код новости | auto_increment | |
FIO | varchar (50) | Фамилия, Имя, Отчество заказчика | ||
tel | varchar (15) | Телефон заказчика | ||
varchar (15) | Электронная почта заказчика | |||
data | date | Дата заказа | ||
status | varchar (15) | Статус заказа | ||
id_men | int (11) | Код менеджера, исполняющего заказ | ||
3.2 Описание таблиц
Опишем каждую таблицу по отдельности для полного представления базы данных comp
Первая таблица «razd» хранит информацию о каталогах компьютеров, где порядок по которому происходит сортировка при отображении осуществляется по столбцу «por».
Следующая «razd2» аналогична первой, только это каталог оргтехники.
Третья таблица Товаров хранит информацию о товарах, где значение «vid» является показателем принадлежности товара к какому то каталогу, если 1 — к компьютерам, 2 — оргтехнике.
Далее следует талица «tovar_zakaz» она представляет собой таблицу заказов, объединяющей между собой заказчика и товары которые он заказал. В ней указывается количество указанного товара и ее сумма.
Пятая таблица пользователей необходима для контроля входа пользователей в панель администрирования и в менеджерскую. Также в случае когда «tip» равен 1, то есть пользователь является менеджером, его данные используются для связи с заказчиком, что позволяет контролировать выполнение заказа более автономно.
Шестая таблица является временной, то есть она создается в самом сайте при создании сессии, то есть при входе на сайт в первый раз. Это позволяет создавать временную корзину на случай если пользователь решит не заказывать, данные с корзины будут удалены. В обратном случае — данные будут переписаны в таблицу с заказами, и также таблица будет уничтожена.
Последняя таблица «zakaz» представляет собой набор заказчика, «id» данной таблицы является номером заказа и последующем номером счета. Здесь также указана дата заказа, которая задается автоматически в php, значение которого равно текущему числу, что очень удобно при контролировании заказа. Поле «status» указывает статус заказа: выполнен (после того как товар отгружен покупателю и все требования выполнены), выполняется (после того как менеджер резервирует данный заказ и начинает работать над его осуществлением), отменен (временное помещение заказа в хранилище, по каким либо причинам), прибыл (когда заказчик осуществил заказ, но его еще не обработали).
Данная таблица связывается с таблицей менеджеров (пользовательская таблица) по уникальному коду менеджера.
Схематически связи всех существующих таблиц мы рассмотрим далее.
3.3 Схема базы данных
Рисунок 1 — Структурная схема базы данных «comp»
3.4 SQL запросы на создание таблиц
В phpMyAdmin сформируем экспорт SQL и получаем следующий дамп базы данных в виде структур рассмотренных ранее таблиц:
— БД: `comp`
— Структура таблицы `razd`
—
CREATE TABLE `razd` (
`id` int (11) NOT NULL auto_increment,
`nazv` varchar (50) NOT NULL default '',
`por` int (11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=45 ;
— Структура таблицы `razd2`
CREATE TABLE `razd2` (
`id` int (11) NOT NULL auto_increment,
`nazv` varchar (50) NOT NULL default '',
`por` int (11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=43 ;
— Структура таблицы `tovar`
CREATE TABLE `tovar` (
`id` int (11) NOT NULL auto_increment,
`vid` int (11) NOT NULL default '0',
`nazv` varchar (250) NOT NULL default '',
`foto` varchar (250) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=845 ;
— Структура таблицы `tovar_zakaz`
CREATE TABLE `tovar_zakaz` (
`id` int (11) NOT NULL auto_increment,
`id_zakaz` int (11) NOT NULL default '1',
`id_tovar` int (11) NOT NULL default '1',
`kol` int (11) NOT NULL default '0',
`summa` float NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=41 ;
— Структура таблицы `user`
CREATE TABLE `user` (
`id` int (11) NOT NULL auto_increment,
`tip` int (11) NOT NULL default '1',
`login` varchar (50) NOT NULL default '',
`fio` varchar (50) NOT NULL default '',
`email` varchar (50) NOT NULL default '',
`pass` varchar (10) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;
— Структура таблицы `zak`
CREATE TABLE `zak` (
`id` int (11) NOT NULL auto_increment,
`id_tovar` int (11) NOT NULL default '0',
`nazv` varchar (20) NOT NULL default '',
`firma` varchar (10) NOT NULL default '',
`foto` varchar (50) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
`kol` int (11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
— Структура таблицы `zakaz`
CREATE TABLE `zakaz` (
`id` int (11) NOT NULL auto_increment,
`FIO` varchar (50) NOT NULL default '',
`tel` varchar (15) NOT NULL default '',
`email` varchar (15) NOT NULL default '',
`data` date NOT NULL default '0000−00−00',
`status` varchar (15) NOT NULL default 'поступил',
`id_men` int (11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=25 ;
4. Назначение скриптов
Начнем рассмотрения скриптов с главной страницы сайта. С запуском первого файла php, то есть… apogey/www/index.php, запускается скрипт, в котором начинается сессия, и в случае если пользователь вошел на сайт в первый раз, то удаляется и затем создается таблица «zak»:
if (isset ($_SESSION['dat'])) {
$_SESSION['dat']=$_SESSION['dat']. «a»; }
else { $_SESSION['dat']="a"; require_once («connect.php»);
$link=mysql_connect ($sqlhost, $sqluser, $sqlpass) or die («MySQL ioeaea!» .mysql_error ());
$sql="DROP TABLE `zak`" ;
$datu=mysql_query ($sql);
$sql="CREATE TABLE `zak` (
`id` int (11) NOT NULL auto_increment,
`id_tovar` int (11) NOT NULL default '0',
`nazv` varchar (20) NOT NULL default '',
`firma` varchar (10) NOT NULL default '',
`foto` varchar (50) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
`kol` int (11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;" ;
$daty=mysql_query ($sql);} ?>
Как видим данный скрип использует файл connect. php, который является файлом соединяющимся с MySQL и базой данных (данный файл используется во всех скриптах, связанных с базой данных):
$sqlpass=""; $db="apogey" ;
mysql_connect ($sqlhost, $sqluser, $sqlpass) or die («MySQL Ошибка!» .mysql_error ());
mysql_select_db ($db) or die («Не возможно считывание данных» .mysql_error ());
?>
Далее скрипты осуществляют отображение того или иного файла php, что позволяет по отдельности исправлять и видеть ошибки. Отображение файла folder/start.php:
Данный файл также содержит в себе скрипт, выполняющий работу с таблицей каталогов и отображающей в табличном виде последовательность наименований каталогов:
$link=mysql_connect ($sqlhost, $sqluser, $sqlpass) or die («MySQL ioeaea!» .mysql_error ());
$sql="SELECT id, nazv, vid, por FROM razd where vid=0 order by por" ;
$data=mysql_query ($sql);
while ($row=mysql_fetch_row ($data))
{echo «» .$row[1]." " ;}
?>
Появляется кнопка «Входа» в случае верного пароля и логина, которая переходит в http://localhost/Tools/apogey/www/meneger/?act=new&id=№менеджера в случае с менеджером и http://localhost/Tools/apogey/www/admin/?1 в случае с администратором:
$link=mysql_connect ($sqlhost, $sqluser, $sqlpass) or die («MySQL Ошибка!» .mysql_error ());
$sql2="SELECT id, login, pass, tip FROM user where tip=1″;$data2=mysql_query ($sql2);
while ($line2=mysql_fetch_row ($data2))
{ if (($line2[1]==$_POST['name']) and ($line2[2]==$_POST['pass'])) {
echo «
«;} }$link=mysql_connect ($sqlhost, $sqluser, $sqlpass) or die («MySQL Ошибка!» .mysql_error ());
$sql2="SELECT id, login, pass, tip FROM user where tip=2″ ;
$data2=mysql_query ($sql2);
while ($line2=mysql_fetch_row ($data2))
{ if (($line2[1]==$_POST['name']) and ($line2[2]==$_POST['pass'])) {
echo «
«;} } ?>Следующий скрипт файла index. php отображает в ссответствии с выбранным пунктом меню файлы:
if (($_SERVER['REQUEST_URI']==$_SERVER ['PHP_SELF']. «?id=».$_GET['id']) or
($_SERVER['REQUEST_URI']==$_SERVER ['PHP_SELF']. «?id=2») or
($_SERVER['REQUEST_URI']==$_SERVER ['PHP_SELF']. «?id=».$_GET['id'])){
require_once («catalog/index.php»);}
}?>
Следующий файл из предыдущего скрипта это catalog/index.php, который имеет большое число скриптов, так как он отображает каталоги и в то же время таблицу товаров, заказов с ссылками в корзину.
Начало массива базы данных:
require_once («connect.php»);
$sql="SELECT id, vid, nazv, firma, foto, opisanie, zena FROM tovar";$dat=mysql_query ($sql);
while ($lin=mysql_fetch_row ($dat)){
if ($lin[1]==$_GET['fid'])
{?>
Ячейка отображающая фотографию и ссылка, но фото в отдельном коне:
?>
Скрипт ячейки названия и описания:
'.$lin[2]. '
'.$lin[5].'';
?>
Скрипт ячейки цены:
0)
{ echo $lin[6]; }
else
{ echo «
iia caeac
"; }?>
Кнопка для перехода в таблицу с заказами:
"