Информационная система сети магазинов компьютерного оборудования
Анализ принципов построения электронных магазинов и каталогов. Технологии и средства разработки: языки программирования, управление базами данных, библиотеки JavaScript, среда разработки. Проектирование структуры приложения, его файловая структура.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.10.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- -
-
- Структура таблицы `orders`
-
CREATE TABLE IF NOT EXISTS `orders` (
`order_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`customer_id` int(10) unsigned NOT NULL,
`date` datetime NOT NULL,
`dostavka_id` tinyint(3) unsigned NOT NULL,
`status` enum ('0', '1') NOT NULL DEFAULT '0',
`prim` text NOT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=30;
-
- Дамп данных таблицы `orders`
-
INSERT INTO `orders` (`order_id`, `customer_id`, `date`, `dostavka_id`, `status`, `prim`) VALUES
(24, 31, '2014-05-21 08:30:03', 1, '1', 'Позвоните пожалуйста после 10 вечера, до этого времени я на работ'),
(28, 36, '2014-05-22 00:59:27', 1, '0', «),
(29, 37, '2014-10-01 14:15:12', 2, '0', «);
- -
-
- Структура таблицы `pages`
-
CREATE TABLE IF NOT EXISTS `pages` (
`page_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`keywords` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`position` tinyint(3) unsigned NOT NULL DEFAULT '0',
`text` text NOT NULL,
PRIMARY KEY (`page_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8;
-
- Дамп данных таблицы `pages`
-
INSERT INTO `pages` (`page_id`, `title`, `keywords`, `description`, `position`, `text`) VALUES
(1, 'О магазине', 'Ключевики страницы «О магазине» ', 'Описание страницы «О магазине» ', 1, '<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n Когда не самых плохих людей объединяет не самая простая миссия, всегда получается что-то интересное. Уверенны, так произошло и в нашем случае.</p>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n Наша миссия — сделать лицензионное программное обеспечение более доступным, а процесс его покупки максимально простым и удобным. Мы убеждены, что использование легального программного обеспечения не просто необходимость, но и признак рациональности и здравомыслия.</p>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n <strong>Если вы пользователь</strong> — обращайтесь к нам не только за покупкой, но и за консультацией. Мы хотим уметь и знать больше, ваши вопросы для нас гораздо важнее множества официальных пресс-релизов.</p>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n <strong>Если вы разработчик</strong> — обращайтесь, мы будем рады стать вашим надежным партнером.</p>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n <strong>Если вы дистрибьютор программного обеспечения</strong> — значит нам точно по пути и мы обязательно познакомимся.</p>'),
(2, 'Оплата и доставка', 'ключевики', 'описание', 2, '<p>\r\n </p>\r\n<h2 style=«margin: 0.7em 0px 0.5em -15px; padding: 0px; font-weight: normal; font-family: «Trebuchet MS», Arial, Helvetica, sans-serif; font-style: italic; color: rgb (0, 0, 0); font-size: 24px; ">\r\n Оплата заказа</h2>\r\n<ul class= «dash» style= «margin: 0px 0px 1em 2.5em; padding-right: 0px; padding-left: 0px; list-style-type: none; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px; ">\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Наличными курьеру.</strong> Оплата производится в согласованное с вами время по указаному адресу.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Электронным платежом Web-Money.</strong> После согласования заказа мы присылаем вам счет, который вы можете оплатить через Keeper Classic, Light.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Безналичный платеж для физических лиц.</strong> На ваш электронный ящик будет отправлен счет, оплатить который вы можете в любом банке.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Безналичный расчет для юридических лиц.</strong> После обмена документами вы оплачиваете выставленный нами счет, после чего мы согласовываем время и место доставки.</li>\r\n</ul>\r\n<h2 style=«margin: 0.7em 0px 0.5em -15px; padding: 0px; font-weight: normal; font-family: «Trebuchet MS», Arial, Helvetica, sans-serif; font-style: italic; color: rgb (0, 0, 0); font-size: 24px;»>\r\n Доставка</h2>\r\n<ul class= «dash» style= «margin: 0px 0px 1em 2.5em; padding-right: 0px; padding-left: 0px; list-style-type: none; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px; ">\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Электронной почтой.</strong> По факту оплаты на ваш электронный адрес будет выслана электронная лицензия продукта или же ключ продукта. Время доставки — от нескольких минут до нескольких часов.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Самовывоз в москве.</strong> В согласованное время вы забираете заказ самостоятельно. Мы работаем с <span class= «nobr»>9.00-20.00</span> и напоминаем вам наши <a href= «http://provod.com.ua/page/4» style= «color: rgb (0, 93, 173);»>контактные данные</a>.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Курьером в москве.</strong> Доставка бесплатная в удобное для вас время. Время доставки различное (от нескольких часов до нескольких дней) и зависит от приобретаемого вами програмного обеспечения.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Курьером по москве.</strong> Такая доставка возможна в тех городах, где есть терминалы служб грузоперевозок, этот момент вы можете уточнить с любым из наших менеджеров. Время доставки — не более 2х дней с момента оформления лицензии.</li>\r\n <li style= «margin: 0px 0px 0.5em; padding: 0px; text-indent: -1.4em;»>\r\n <strong>Получение заказа на терминале перевозчика</strong> (Автолюкс, Ночной Экспресс, Нова Пошта). Для этого крайне желательно оформление вашего заказа через сайт, так как контактные данные будут указаны вами, без возможных ошибок. Время доставки — не более 2х дней с момента оформления лицензии.</li>\r\n</ul>'),
(4, 'Контакты', «, «, 3, '<h2 style=«margin: 0.7em 0px 0.5em -15px; padding: 0px; font-weight: normal; font-family: «Trebuchet MS», Arial, Helvetica, sans-serif; font-style: italic; color: rgb (0, 0, 0); font-size: 24px;»>\r\n Офис</h2>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px; ">\r\n 03062, россия москва, <span class= «nobr»>проспект Победы,</span> 67,<br />\r\n корпус <span class= «nobr»>В,</span> <span class= «nobr»>офис №216 (2-й</span> этаж)</p>\r\n<h2 style=«margin: 0.7em 0px 0.5em -15px; padding: 0px; font-weight: normal; font-family: «Trebuchet MS», Arial, Helvetica, sans-serif; font-style: italic; color: rgb (0, 0, 0); font-size: 24px;»>\r\n Служба поддержки</h2>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px; ">\r\n Телефоны: <span class= «nobr»>(111) 881-10-01</span><br />\r\n Эл. почта: <a href= «mailto:info@softa.com.ua» style= «color: rgb (0, 93, 173);»>info@provod.com.ua</a><br />\r\n ICQ: <span style= «line-height: 14.77199935913086px; color: rgb (34, 34, 34); font-size: 12px;»>598142429</span></p>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n </p>\r\n<h2 style=«margin: 0.7em 0px 0.5em -15px; padding: 0px; font-weight: normal; font-family: «Trebuchet MS», Arial, Helvetica, sans-serif; font-style: italic; color: rgb (0, 0, 0); font-size: 24px;»>\r\n Банковские реквизиты</h2>\r\n<p style= «margin: 0px 0px 1em; padding: 0px; color: rgb (70, 70, 70); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 22.5px;»>\r\n Высылаем по вашему запросу в любом удобном для вас формате.</p>');
- -
-
- Структура таблицы `roles`
-
CREATE TABLE IF NOT EXISTS `roles` (
`id_role` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`name_role` varchar(255) NOT NULL,
PRIMARY KEY (`id_role`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;
-
- Дамп данных таблицы `roles`
-
INSERT INTO `roles` (`id_role`, `name_role`) VALUES
(1, 'Пользователь'),
(2, 'Администратор');
- -
-
- Структура таблицы `zakaz_tovar`
-
CREATE TABLE IF NOT EXISTS `zakaz_tovar` (
`zakaz_tovar_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`orders_id` int(10) unsigned NOT NULL,
`goods_id` int(10) unsigned NOT NULL,
`quantity` tinyint(3) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`price` float NOT NULL,
PRIMARY KEY (`zakaz_tovar_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=40;
-
- Дамп данных таблицы `zakaz_tovar`
-
INSERT INTO `zakaz_tovar` (`zakaz_tovar_id`, `orders_id`, `goods_id`, `quantity`, `name`, `price`) VALUES
(34, 24, 50, 1, 'Kaspersky Internet Security 2014', 453),
(38, 28, 7, 1, 'Windows 7 Ultimate Russian DVD BOX', 3669),
(39, 29, 2, 1, 'Dr. Web Security Space', 329);
/*! 40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*! 40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*! 40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Листинг конфигурационного файла Apache
AddDefaultCharset utf-8
php_flag magic_quotes_gpc Off
ErrorDocument 404 /page404.html
RewriteEngine On
#RewriteCond%{REQUEST_FILENAME}! - d
#RewriteCond%{REQUEST_FILENAME}! - f
RewriteRule ^page/(\d+)/?$ index.php? view=page&page_id=$1
RewriteRule ^(hits|new|sale)/?$ index.php? view=$1
RewriteRule ^category/(\d+)/?$ index.php? view=cat&category=$1
RewriteRule ^category/(\d+)/page=(\d+)?/?$ index.php? view=cat&category=$1&page=$2
RewriteRule ^category/(\d+)/order/([a-z]+)/page=(\d+)?/?$ index.php? view=cat&category=$1&order=$2&page=$3
RewriteRule ^news/(\d+)/?$ index.php? view=news&news_id=$1
RewriteRule ^archive/?$ index.php? view=archive
RewriteRule ^archive/page=(\d+)?/?$ index.php? view=archive&page=$1
RewriteRule ^informer/(\d+)/?$ index.php? view=informer&informer_id=$1
RewriteRule ^product/(\d+)/?$ index.php? view=product&goods_id=$1
RewriteRule ^addtocart/(\d+)/?$ index.php? view=addtocart&goods_id=$1
RewriteRule ^reg/?$ index.php? view=reg
RewriteRule ^cart/?$ index.php? view=cart
RewriteRule ^cart/qty=(\d+)/id=(\d+)/?$ index.php? view=cart&qty=$1&id=$2
Приложение Б
Исходный код главной страницы
<! DOCTYPE html PUBLIC «- //W3C //DTD XHTML 1.0 Transitional //EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns= «http://www.w3.org/1999/xhtml»>
<head>
<meta http-equiv= «Content-Type» content= «text/html; charset=utf-8» />
<link rel= «stylesheet» type= «text/css» href=»/views/ishop/css/style.css» />
<! - [if lt IE 9]>
<script src= «http://ie7-js.googlecode.com/svn/version/2.1 (beta4)/IE9.js»></script>
<! [endif]->
<script type= «text/javascript» src=»/views/ishop/js/functions.js»></script>
<script type= «text/javascript» src=»/views/ishop/js/jquery-1.7.2.min.js»></script>
<script type= «text/javascript» src=»/views/ishop/js/jquery-ui-1.8.22.custom.min.js»></script>
<script type= «text/javascript» src=»/views/ishop/js/jquery.cookie.js»></script>
<script type= «text/javascript»>var path = '/';</script>
<script type= «text/javascript» src=»/views/ishop/js/workscripts.js»></script>
<! - Fancybox ->
<script type= «text/javascript» src=»/fancybox/jquery.mousewheel-3.0.4.pack.js»></script>
<script type= «text/javascript» src=»/fancybox/jquery.fancybox-1.3.4.pack.js»></script>
<link rel= «stylesheet» type= «text/css» href=»/fancybox/jquery.fancybox-1.3.4.css» media= «screen» />
<! - Fancybox ->
<meta name= «description» content= «Магазин программных продуктов» />
<meta name= «keywords» content= «Магазин программных продуктов, продажа, днепропетровск» />
<title>Магазин программных продуктов</title>
</head>
<body>
<ul class= «menu»>
<li><a href=»/">Главная</a></li>
<li><a href=»/page/1»>О магазине</a></li>
<li><a href=»/page/2»>Оплата и доставка</a></li>
<li><a href=»/page/4»>Контакты</a></li>
</ul>
<div class= «main»>
<div class= «header»>
<a href=»/"><img class= «logo» src=»/views/ishop/images/logo.png» alt= «Интернет магазин программных продуктов» /></a>
<div class= «head-contact»>
<p><strong>Телефон:</strong><br />
<span>+7 (497) 881-10-01</span></p>
<p><strong>Режим работы:</strong><br />
Будние дни: с 8:00 до 17:00<br />
Без выходных.</p>
</div>
<form method= «get» action=»/">
<ul class= «search-head»>
<input type= «hidden» name= «view» value= «search» />
<li><input type= «text» name= «search» id= «quickquery» placeholder= «Что вы хотите купить?» /></li>
<script type= «text/javascript»>
// <! [CDATA [
placeholderSetup('quickquery');
// ]]>
</script>
<li><input class= «search-btn» type= «image» src=»/views/ishop/images/searc-btn.jpg» /></li>
</ul>
</form>
</div> <div id= «contentwrapper»>
<div id= «content»>
<div class= «catalog-index»>
<h1>Лидеры продаж</h1>
<div class= «product-index»>
<h2><a href=»/product/3»>ESET Smart Security 6</a></h2>
<div class= «product-table-img»>
<a href=»/product/3»><img src=»/userfiles/product_img/baseimg/3.jpg» alt=»» /></a>
</div> <! - .product-table-img ->
<p>Цена: <span>534.</span></p>
<a href=»/addtocart/3»><img class= «addtocard-index» src=»/views/ishop/images/addcard-index.png» alt= «Добавить в корзину» /></a>
</div>
<div class= «product-index»>
<h2><a href=»/product/7»>Windows 7 Ultimate Russian DVD BOX</a></h2>
<div class= «product-table-img»>
<a href=»/product/7»><img src=»/userfiles/product_img/baseimg/7.jpg» alt=»» /></a>
</div> <! - .product-table-img ->
<p>Цена: <span>3669.</span></p>
<a href=»/addtocart/7»><img class= «addtocard-index» src=»/views/ishop/images/addcard-index.png» alt= «Добавить в корзину» /></a>
</div>
<div class= «product-index»>
<h2><a href=»/product/8»>Microsoft Office 365 Personal 32/64</a></h2>
<div class= «product-table-img»>
<a href=»/product/8»><img src=»/userfiles/product_img/baseimg/8.jpg» alt=»» /></a>
</div> <! - .product-table-img ->
<p>Цена: <span>659.</span></p>
<a href=»/addtocart/8»><img class= «addtocard-index» src=»/views/ishop/images/addcard-index.png» alt= «Добавить в корзину» /></a>
</div>
<div class= «product-index»>
<h2><a href=»/product/11»>FIFA 14</a></h2>
<div class= «product-table-img»>
<a href=»/product/11»><img src=»/userfiles/product_img/baseimg/11.png» alt=»» /></a>
</div> <! - .product-table-img ->
<p>Цена: <span>369.</span></p>
<a href=»/addtocart/11»><img class= «addtocard-index» src=»/views/ishop/images/addcard-index.png» alt= «Добавить в корзину» /></a>
</div>
</div> </div>
</div>
<div id= «left-bar»>
<div class= «left-bar-cont»>
<h2>Каталог</h2>
<h3 class= «nav-new»><a href=»/new»>Новинки</a></h3>
<h3 class= «nav-lider»><a href=»/hits»>Лидеры продаж</a></h3>
<h3 class= «nav-sale»><a href=»/sale»>Распродажа</a></h3>
<! - Меню категорий ->
<h4> - Программные продукты</h4>
<ul class= «nav-catalog» id= «accordion»>
<li><a href=»/category/23»>Антивирусы</a></li>
<li><a href=»/category/25»>Игры</a></li>
<li><a href=»/category/30»>комплектующие</a></li>
<li><a href=»/category/29»>мониторы</a></li>
<li><a href=»/category/31»>ноутбуки</a></li>
<li><a href=»/category/26»>Операционные системы</a></li>
<li><a href=»/category/27»>Офисные приложения</a></li>
</ul>
<! - Меню категорий ->
<div class= «news»>
<h3>Новости</h3>
<p>
<span>2014-05-21</span>
<a href=»/news/6»>Windows 8.1 Update 1</a>
</p>
<a href=»/archive» class= «news-arh»>Архив новостей</a>
</div> <! - .news ->
<! - Информеры ->
<! - Информеры ->
</div>
</div>
<div id= «right-bar»>
<div class= «right-bar-cont»>
<div class= «enter»>
<h2>Авторизация</h2>
<div class= «authform»>
<form method= «post» action= "#»>
<label for= «login»>Логин: </label><br />
<input type= «text» name= «login» id= «login» /><br />
<label for= «pass»>Пароль: </label><br />
<input type= «password» name= «pass» id= «pass» /><br /><br />
<input type= «submit» name= «auth» id= «auth» value= «Войти» />
<p class= «link»><a href=»/reg»>Регистрация</a></p>
</form>
</div> <! - .authform ->
</div> <! - .enter ->
<div class= «basket»>
<h2>Корзина</h2>
<div>
<p>
Корзина пуста
</p>
</div>
</div> <! - .basket ->
<div class= «share-search»>
<h2>Выбор по параметрам</h2>
<div>
<form method= «get» action=»/">
<input type= «hidden» name= «view» value= «filter» />
<p>Стоимость:</p>
от <input class= «podbor-price» type= «text» name= «startprice» value=»» />
до <input class= «podbor-price» type= «text» name= «endprice» value=»» />
руб.
<br /><br />
<p>Категории:</p>
<input type= «checkbox» name= «brand[]» value= «23» id= «23» />
<label for= «23»>Антивирусы</label> <br />
<input type= «checkbox» name= «brand[]» value= «25» id= «25» />
<label for= «25»>Игры</label> <br />
<input type= «checkbox» name= «brand[]» value= «30» id= «30» />
<label for= «30»>комплектующие</label> <br />
<input type= «checkbox» name= «brand[]» value= «29» id= «29» />
<label for= «29»>мониторы</label> <br />
<input type= «checkbox» name= «brand[]» value= «31» id= «31» />
<label for= «31»>ноутбуки</label> <br />
<input type= «checkbox» name= «brand[]» value= «26» id= «26» />
<label for= «26»>Операционные системы</label> <br />
<input type= «checkbox» name= «brand[]» value= «27» id= «27» />
<label for= «27»>Офисные приложения</label> <br />
<input class= «podbor» type= «image» src=»/views/ishop/images/podbor.jpg» />
</form>
</div>
</div>
</div>
</div> <div class= «clr»></div>
<div class= «footer»>
<div class= «flogo»>
<p>Сopyright © 2014</p>
</div>
<div class= «fphone»>
<h2>Телефон:</h2>
<h2>+7 (497) 881-10-01</h2>
<h2>Режим работы:</h2>
<p>Будние дни: с 8:00 до 17:00<br />
Без выходных. </p>
</div>
<div class= «fmenu»>
<p>Меню:</p>
<ul>
<li><a href=»/">Главная</a></li>
<li><a href=»/page/1»>О магазине</a></li>
<li><a href=»/page/2»>Оплата и доставка</a></li>
<li><a href=»/page/4»>Контакты</a></li>
</ul>
</div>
</div></div>
</body>
</html>
Приложение В
Листинг классов
<? php
defined('ISHOP') or die ('Access denied');
/* ===Распечатка массива=== */
function print_arr($arr) {
echo «<pre>»;
print_r($arr);
echo «</pre>»;
}
/* ===Распечатка массива=== */
/* ===Фильтрация входящих данных=== */
function clear($var) {
$var = mysql_real_escape_string (strip_tags($var));
return $var;
}
/* ===Фильтрация входящих данных=== */
/* ===Редирект=== */
function redirect ($http = false) {
if($http) $redirect = $http;
else $redirect = isset ($_SERVER['HTTP_REFERER'])? $_SERVER ['HTTP_REFERER']: PATH;
header («Location: $redirect»);
exit;
}
/* ===Редирект=== */
/* ===Выход пользователя=== */
function logout() {
unset ($_SESSION['auth']);
}
/* ===Выход пользователя=== */
/* ===Добавление в корзину=== */
function addtocart ($goods_id, $qty = 1) {
if (isset($_SESSION['cart'] [$goods_id])) {
// если в массиве cart уже есть добавляемый товар
$_SESSION['cart'] [$goods_id] ['qty'] += $qty;
return $_SESSION['cart'];
} else {
// если товар кладется в корзину впервые
$_SESSION['cart'] [$goods_id] ['qty'] = $qty;
return $_SESSION['cart'];
}
}
/* ===Добавление в корзину=== */
/* ===Удаление из корзины=== */
function delete_from_cart($id) {
if ($_SESSION['cart']) {
if (array_key_exists ($id, $_SESSION['cart'])) {
$_SESSION ['total_quantity'] -= $_SESSION['cart'] [$id] ['qty'];
$_SESSION ['total_sum'] -= $_SESSION['cart'] [$id] ['qty'] * $_SESSION['cart'] [$id] ['price'];
unset ($_SESSION['cart'] [$id]);
}
}
}
/* ===Удаление из корзины=== */
/* ===кол-во товара в корзине + защита от ввода несуществующего ID товара=== */
function total_quantity() {
$_SESSION ['total_quantity'] = 0;
foreach ($_SESSION['cart'] as $key => $value) {
if (isset($value['price'])) {
// если получена цена товара из БД - суммируем кол-во
$_SESSION ['total_quantity'] += $value['qty'];
} else {
// иначе - удаляем такой ID из сессиии (корзины)
unset ($_SESSION['cart'] [$key]);
}
}
}
/* ===кол-во товара в корзине + защита от ввода несуществующего ID товара=== */
/* ===Постраничная навигация=== */
function pagination ($page, $pages_count, $modrew = 1) {
if ($modrew == 0) {
// если функция вызывается на странице без ЧПУ
if ($_SERVER['QUERY_STRING']) { // если есть параметры в запросе
$uri =»?»;
foreach ($_GET as $key => $value) {
// формируем строку параметров без номера страницы… номер передается параметром функции
if ($key!= 'page') $uri.= «{$key}={$value}&»;
}
}
} else {
// если функция вызвана на странице с ЧПУ
$uri = $_SERVER ['REQUEST_URI'];
$params = explode(«/», $uri);
$uri = null;
foreach ($params as $param) {
if (! empty($param) AND! preg_match («#page=#», $param)) {
$uri.= «/$param»;
}
}
$uri.= «/»;
}
// формирование ссылок
$back = «; // ссылка НАЗАД
$forward = «; // ссылка ВПЕРЕД
$startpage = «; // ссылка В НАЧАЛО
$endpage = «; // ссылка В КОНЕЦ
$page2left = «; // вторая страница слева
$page1left = «; // первая страница слева
$page2right = «; // вторая страница справа
$page1right = «; // первая страница справа
if ($page > 1) {
$back = «<a class='nav_link' href='{$uri} page=». ($page-1). «'><</a>»;
}
if ($page < $pages_count) {
$forward = «<a class='nav_link' href='{$uri} page=». ($page+1). «'>></a>»;
}
if ($page > 3) {
$startpage = «<a class='nav_link' href='{$uri} page=1'>«</a>»;
}
if ($page < ($pages_count - 2)) {
$endpage = «<a class='nav_link' href='{$uri} page={$pages_count}'>»</a>»;
}
if ($page - 2 > 0) {
$page2left = «<a class='nav_link' href='{$uri} page=». ($page-2). «'>». ($page-2). «</a>»;
}
if ($page - 1 > 0) {
$page1left = «<a class='nav_link' href='{$uri} page=». ($page-1). «'>». ($page-1). «</a>»;
}
if ($page + 2 <= $pages_count) {
$page2right = «<a class='nav_link' href='{$uri} page=». ($page+2). «'>». ($page+2). «</a>»;
}
if ($page + 1 <= $pages_count) {
$page1right = «<a class='nav_link' href='{$uri} page=». ($page+1). «'>». ($page+1). «</a>»;
}
// формируем вывод навигации
echo '<div class= «pagination»>'.$startpage.$back.$page2left.$page1left.'<a class= «nav_active»>'.$page.'</a>'.$page1right.$page2right.$forward.$endpage. '</div>';
}
/* ===Постраничная навигация=== */
Размещено на Allbest.ru
Подобные документы
Создание концептуальной модели информационной системы, включающей в себя данные по магазинам, персоналу, владельцу и поставщикам - "Сеть магазинов". Выбор системы управления базами данных. Разработка клиентского приложения и интерфейса пользователя.
курсовая работа [525,9 K], добавлен 12.04.2015Разработка информационной системы "Библиотека Дорам" в архитектуре клиент - сервер; управление реляционными базами данных (СУБД) Microsoft SQL Server. Визуальная среда программирования и технические средства. Разработка структурированного приложения.
курсовая работа [3,2 M], добавлен 12.01.2010Создание информационную систему "Сеть магазинов" в виде реляционной базы данных и операциями над ней. Создание базы данных в СУБД DB2. Описание и обоснование выбора состава технических и программных средств. Разработка пользовательского приложения.
курсовая работа [1,1 M], добавлен 19.05.2013Порядок описание процесса разработки модели для разрешения задачи программирования с помощью средств языка программирования. Структуры данных и основные принципы их построения. Этапы компьютерного моделирования. Этапы и значение написания программы.
курсовая работа [19,5 K], добавлен 19.05.2011Основная идея методологии и принципы RAD-разработки информационных систем, ее главные преимущества. Причины популярности, особенности применения технологии. Формулировка основных принципов разработки. Среды разработки, использующие принципы RAD.
презентация [866,8 K], добавлен 02.04.2013Системы визуального объектно-ориентированного программирования. Среда разработки Delphi. Microsoft Access как система управления базами данных реляционного типа. Структурированный язык запросов SQL. Программирование базы данных Библиотечного фонда.
курсовая работа [2,5 M], добавлен 08.01.2012Обзор принципов построения информационных систем для торговли через Интернет. Технология создания электронных магазинов. План работ для web-проекта. Язык сценариев JavaScript. Моделирование предметной области. Дизайн интерфейса и программная реализация.
дипломная работа [2,5 M], добавлен 10.04.2013Разработка базы данных средней сложности с типовым пользовательским интерфейсом, а в частности, разработка базы данных СНАБЖЕНИЕ МАГАЗИНОВ на основе реляционной системы управления базами данных Microsoft Access, входящей в комплект Microsoft Office.
курсовая работа [2,1 M], добавлен 02.12.2012Исследование особенностей проектирования и реализации автоматизированной системы "Учет товаров в сети продуктовых магазинов". Анализ требований к функциональным характеристикам, параметрам технических средств и надежности. Разработка моделей базы данных.
курсовая работа [1,2 M], добавлен 24.11.2013Разработка базы данных, предназначенной для отслеживания движения товара внутри сети магазинов. Анализ выходных, внутренних документов. Первоначальный набор сущностей для базы данных. Анализ запросов и установка дополнительных логических связей.
курсовая работа [216,3 K], добавлен 21.02.2016