Помощь в написании студенческих работ
Антистрессовый сервис

Разработка Web-приложения «Магазин по продаже продуктов» с использованием PHP и MySQL

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Для того, чтобы хранить выше перечисленные данные, необходимо создать базу данных, а затем в ней следует создать следующие таблицы: «Otdel» — для хранения номера отдела и его названия; «Proizvoditel» — для хранения данных о производителе товаров; «Product» — данные о продуктах (название, срок хранения, цена); «Rabotniki» -информация о работниках магазина; «Postoyannie_pokypateli"-информация… Читать ещё >

Разработка Web-приложения «Магазин по продаже продуктов» с использованием PHP и MySQL (реферат, курсовая, диплом, контрольная)

Федеральное агентство по образованию Российской Федерации Белгородский государственный университет Факультет компьютерных наук и телекоммуникаций Кафедра математического и программного обеспечения информационных систем ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ по дисциплине: «Web-программирование»

на тему: «Разработка Web-приложения „Магазин по продаже продуктов“ с использованием PHP и MySQL»

Белгород 2006

  • Оглавление
  • Введение
  • Часть 1. Теоретическая часть
  • 1.1 PHP
  • 1.2 MySQL
  • 1.3 CSS
  • Часть 2. Проектирование БД
  • 2.1 Системный анализ предметной области
  • 2.2 Проектирование инфологической модели предметной области
  • Часть 3. Создание базы данных
  • 3.1 Составление web-страниц
  • Заключение
  • Список использованной литературы
  • Приложения

В моем курсовом проекте поставлена задача создать базу данных «Магазин по продаже продуктов», используя СУБД MySQL, и создать сайт, используя язык программирования РНР.

Приложение создавалось с помощью таких технологий как HTML, CSS, PHP, SQL, СУБД MySQL.

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

Курсовая работа содержит:

14 рисунков

56 страниц

3 приложения

Часть 1. Теоретическая часть

В теоретической части хотелось бы рассказать немного о программах, которые я использовала в разработке приложения.

1.1 PHP

PHP — это широко используемый язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и может внедряться в HTML-код.

Главное отличие этого скрипта от скриптов, написанных на других языках, например, на Perl или C — вместо того, чтобы создавать программу, которая занимается формированием HTML-кода и содержит бесчисленное множество предназначенных для этого команд, мы создаем HTML-код с несколькими внедренными командами PHP. Код PHP отделяется специальными начальным и конечным тегами, которые позволяют процессору PHP определять начало и конец участка HTML-кода, содержащего PHP-скрипт.

Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на сервере.

PHP крайне прост для освоения, но вместе с тем способен удовлетворить запросы профессиональных программистов.

1.2 MySQL

MySQL — компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании.

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

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL.

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

2. Количество строк в таблицах может достигать 50 млн.

3. Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.

4. Простая и эффективная система безопасности.

1.3 CSS

Основным понятием CSS является стиль — т. е. набор правил оформления и форматирования, который может быть применен к различным элементам страницы. В стандартном HTML для присвоения какому-либо элементу определенных свойств (таких, как цвет, размер, положение на странице и т. п.) приходилось каждый раз описывать эти свойства, даже если на одной страничке должны располагаться 10 или 110 таких элементов, ничуть не отличающихся один от другого. Мы должны были десять или сто десять раз вставить один и тот же кусок HTML-кода в страничку, увеличивая размер файла и время загрузки на компьютер просматривающего ее пользователя.

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

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

Кроме того, CSS позволяет работать со шрифтовым оформлением страниц на гораздо более высоком уровне, чем стандартный HTML, избегая излишнего утяжеления страниц графикой.

Часть 2. Проектирование БД

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

1. Системный анализ и словесное описание информационных объектов предметной области.

2. Проектирование инфологической модели предметной области — частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах Е-модели.

3. Даталогическое или логическое проектирование БД, то есть описание БД в терминах принятой диалогической модели данных.

4. Физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложения.

2.1 Системный анализ предметной области

На этом этапе проектирования базы данных необходимо провести подробное словесное описание объектов предметной области и реальных связей, которые присутствуют между описываемыми объектами.

Существуют два подхода к выбору состава и структуры предметной области:

· Функциональный подход — он реализует принцип движения «от задач» и применяется тогда, когда заранее известны функции некоторой группы лиц и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая БД. В этом случае мы можем четко выделить минимальный необходимый набор объектов предметной области, которые должны быть описаны.

· Предметный подход — когда информационные потребности будущих пользователей БД жестко не фиксируются. Они могут быть многоаспектными и весьма динамичными. Мы не можем точно выделить минимальный набор объектов предметной области, которые необходимо описывать. В описание предметной области в этом случае включаются такие объекты и взаимосвязи, которые наиболее характерны и наиболее существенны для нее. БД, конструируемая при этом, называется предметной, то есть она может быть использована при решении множества разнообразных, заранее не определенных задач. Конструирование предметной БД в некотором смысле кажется гораздо более заманчивым, однако трудность всеобщего охвата предметной области с невозможностью конкретизации потребностей пользователей может привести к избыточно сложной схеме БД, которая для конкретных задач будет неэффективной.

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

Данная база данных ориентирована на использование ее в магазинах продуктов. Я старалась сделать ее как можно проще и в то же время со всеми необходимыми функциями.

В будущую базу данных, я хочу включить следующие данные: №отдела, его название; №производителя, название, персональные данные; список продуктов, их срок годности, цена, имена работников, их стаж и оклад, а также информация о постоянных покупателях и скидках.

Для того, чтобы хранить выше перечисленные данные, необходимо создать базу данных, а затем в ней следует создать следующие таблицы: «Otdel" — для хранения номера отдела и его названия; «Proizvoditel» — для хранения данных о производителе товаров; «Product» — данные о продуктах (название, срок хранения, цена); «Rabotniki» -информация о работниках магазина; «Postoyannie_pokypateli"-информация о покупателях и скидках.

2.2 Проектирование инфологической модели предметной области

Инфологическая модель применяется на втором этапе проектирования БД, то есть после словесного описания предметной области.

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

В настоящий момент не существует единой общепринятой системы обозначений для ER-модели и разные CASE-системы используют разные графические нотации.

В моей базе данных имеется 5 таблиц, которые соединены между собой связью «один ко многим».

Рисунок 1. Связь таблиц

Часть 3. Создание базы данных

сервер база сайт магазин Для создания базы данных необходимо на главной странице программы phpMySQL_Admin в поле «создать новую БД» ввести имя базы данных и нажать кнопку «Создать». Рисунок 1 иллюстрирует эту операцию.

Рисунок 2. Создание новой БД Далее проиллюстрирована процедура создания таблиц в новой БД.

Рисунок 3. Создание таблицы «Otdel»

Рисунок 4. Создание таблицы «Proizv»

Рисунок 5. Создание таблицы «Product»

Рисунок 6. Создание таблицы «Raboth»

Рисунок 7. Создание таблицы «post_pokup»

На рисунке представленном ниже показано создание полей, этих таблиц при помощи программы phpMySQL_Admin.

Рисунок 8. Создание полей таблицы «Otdel»

Рисунок 9. Создание полей таблицы «Proizv»

Рисунок 10. Создание полей таблицы «Produkt»

Рисунок 11. Создание полей таблицы «Raboth»

Рисунок 12. Создание полей таблицы «post_pokup»

3.1 Составление web-страниц

Итак, мы имеем базу данных, с которой пользователь будет выполнять определенные действия посредством приложений РНР. Сначала создадим HTML страницы, с которых будут вызываться приложения РНР.

Главная страница

index.htm

На этой странице будут помещены приветствие и несколько ссылок. Для этого я написала код, который будет помещен в приложении:

В результате получится страничка, которая показана на следующем рисунке:

Рисунок 13 Интерфейс главной страницы сайта

Затем создаем еще несколько страниц, которые соответствуют ссылкам на главной странице.

Сначала создадим страницу «Все товары». Она называется lookall.htm. На ней в виде таблицы размещены все товары, представленные в магазине, а в конце ссылка на другую страницу «Добавить новый продукт». Код находится в приложении.

На рисунке 14 показан готовый вид этой страницы.

Рисунок 14 Интерфейс страницы «Добавления новых записей»

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

Заключение

В процессе выполнения данного курсового проекта я улучшила свои навыки по работе с РНР и MySQL.

В результате проделанной работы, я изучила основы работы MySQL баз данных и языка программирования для Интернет PHP и научилась с ними работать. Так же я разработала свою базу данных и сайт, при помощи которого пользователь может добавлять и просматривать записи в базе данных.

В ходе разработки я также улучшила свои знания и умения по работе с HTML страницами.

Еще я убедилась в том, что РНР и MySQL на самом деле очень мощные среды программирования и хранения данных и они очень быстро работают и занимаю очень мало места на жестком диске.

1. «Справочник по MySQL». http://www.spravkaweb.ru/

2. «Справочник по РНР». http://www.softtime.ru/bookphp/help.php

3. Справочники по РНР и MySQL. http://www.php.su/books/

4. Сайт http://www.php.ru

5. Сайт http://www.mysql.ru

Приложение 1

SQL запрос для построения базы данных

# phpMyAdmin MySQL-Dump

# version 2.3.2

# http://www.phpmyadmin.net/ (download page)

#

# Хост: localhost

# Время создания: Дек 30 2006 г., 00:12

# Версия сервера: 3.23.54

# Версия PHP: 4.3.0

# БД: `products`

# ————————————————————————————

# Структура таблицы `otdel`

#

CREATE TABLE otdel (

ido smallint (6) NOT NULL auto_increment,

otdel varchar (255) NOT NULL default '',

PRIMARY KEY (ido),

UNIQUE KEY otdel (otdel)

) TYPE=MyISAM;

#

# Дамп данных таблицы `otdel`

#

INSERT INTO otdel (ido, otdel) VALUES (1, 'Мясной отдел');

INSERT INTO otdel (ido, otdel) VALUES (2, 'Рыбный отдел');

INSERT INTO otdel (ido, otdel) VALUES (3, 'Хлебо-булочные изделия');

INSERT INTO otdel (ido, otdel) VALUES (5, 'Молочный отдел');

INSERT INTO otdel (ido, otdel) VALUES (6, 'Кондитерский отдел');

INSERT INTO otdel (ido, otdel) VALUES (7, 'Бакалея');

INSERT INTO otdel (ido, otdel) VALUES (8, 'Напитки');

# ————————————————————————————

#

# Структура таблицы `post_pokup`

#

CREATE TABLE post_pokup (

id smallint (6) NOT NULL auto_increment,

ido smallint (6) NOT NULL default '0',

fio varchar (255) NOT NULL default '',

pasp varchar (255) NOT NULL default '',

skidka varchar (10) NOT NULL default '0',

PRIMARY KEY (id)

) TYPE=MyISAM;

#

# Дамп данных таблицы `post_pokup`

#

INSERT INTO post_pokup (id, ido, fio, pasp, skidka) VALUES (1, 1, 'Иванов Иван Иванович', '1402 875 336', '5');

INSERT INTO post_pokup (id, ido, fio, pasp, skidka) VALUES (2, 6, 'Иванов Иван Иванович', '1402 875 336', '15');

# ————————————————————————————

#

# Структура таблицы `product`

#

CREATE TABLE product (

idp smallint (6) NOT NULL auto_increment,

idpr smallint (6) NOT NULL default '0',

nazv varchar (255) NOT NULL default '',

srok varchar (255) NOT NULL default '',

price varchar (255) NOT NULL default '',

PRIMARY KEY (idp)

) TYPE=MyISAM;

#

# Дамп данных таблицы `product`

#

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (1, 1, 'Колбаса «Венская» ', '3 недели', '130');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (2, 2, 'Колбаса «Сервелад» ', '4 недели', '325');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (4, 3, 'Сахар', '12 месяцев', '25');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (5, 4, 'Спагетти', '12 месяцев', '20');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (8, 7, 'Хлеб белый', '2 дня', '9');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (9, 7, 'Хлеб черный', '2 дня', '9');

INSERT INTO product (idp, idpr, nazv, srok, price) VALUES (10, 7, 'Батон', '2 дня', '10');

# ————————————————————————————

#

# Структура таблицы `proizv`

#

CREATE TABLE proizv (

idpr smallint (6) NOT NULL auto_increment,

ido smallint (6) NOT NULL default '0',

nazv varchar (255) NOT NULL default '',

sity varchar (255) NOT NULL default '',

PRIMARY KEY (idpr)

) TYPE=MyISAM;

#

# Дамп данных таблицы `proizv`

#

INSERT INTO proizv (idpr, ido, nazv, sity) VALUES (1, 1, 'ОАО «Чернянский мясо-комбинат» ', 'пос. Чернянка');

INSERT INTO proizv (idpr, ido, nazv, sity) VALUES (2, 1, 'ОАО «Алексевский мясо-комбинат» ', 'г. Алексеевка');

INSERT INTO proizv (idpr, ido, nazv, sity) VALUES (3, 7, 'ЗАО «Чернянский сахарный завод» ', 'пос. Чернянка');

INSERT INTO proizv (idpr, ido, nazv, sity) VALUES (4, 7, 'ЗАО «Шебекинская макаронная фабрика» ', 'г. Шебекино');

INSERT INTO proizv (idpr, ido, nazv, sity) VALUES (7, 3, 'ОАО «Белгородский хлебо-завод» ', 'г. Белгород');

# ————————————————————————————

#

# Структура таблицы `rabotn`

#

CREATE TABLE rabotn (

id smallint (6) NOT NULL auto_increment,

fio varchar (255) NOT NULL default '',

prof varchar (255) NOT NULL default '',

stag varchar (25) NOT NULL default '',

oklad mediumint (9) NOT NULL default '0',

PRIMARY KEY (id)

) TYPE=MyISAM;

#

# Дамп данных таблицы `rabotn`

#

INSERT INTO rabotn (id, fio, prof, stag, oklad) VALUES (1, 'Петров Петр Петрович', 'Начальник охраны', '4 года', 5000);

INSERT INTO rabotn (id, fio, prof, stag, oklad) VALUES (2, 'Сидорова Мария Ивановна', 'Продавец', '5', 4500);

Приложение 2

HTML-коды страниц сайта и таблица стилей

Каскадная таблица стилей «style.css»

body {background-image: url («images/fon.jpg»); background-color: BDB76B}

h1 {text-align: center; font-family: Lucida Sans Unicode; font-style: bolder; font-size: 32pt; color: #00008B;

letter-spacing: 15pt;}

p {text-align: justify; font-size: 14pt; text-indent: 15pt; font-family: Lucida Sans Unicode}

h2 {text-align: center; font-size: 16pt; color: navy}

.small {font-size: 12pt; font-family: Times New Roman; text-indent: 2pt; text-align: center;}

.center {text-align: center; font-size: 14pt; text-indent: 15pt; font-family: Lucida Sans Unicode}

a {text-decoration: none}

a:hover {background-color: lime; text-decoration: underline;}

h2:First-Letter {font-size: 125%; color: red;}

.zag {font-weight: bold; font-size: 14pt; font-family: Times New Roman; text-indent: 0pt; text-align: center;}

.zag:First-Letter {font-size: 125%; color: Green;}

index.htm

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

Добро пожаловать на сайт нашего магазина!

Прийдя к нам в магазин, Вы можете приобрести самую свежую и качественную продукцию лучших производителей области и России!

Также Вы можете получить постоянную скидку в размере от 5 до 20%, в зависимости от стоимости Вашей покупки…

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

Приложение 3

РНР-коды страниц сайта

addpokup.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

$part = $_GET['part'];

//форма для заполнения

$form = «

Ф. И. О

Серия и номер паспорта

Скидка (%)

Отдел

«;

if ($part=="start")

{echo «

Заполните форму:

$form" ;}

if ($part=="go")

{

//запоминаем введенные данные

$fio = $_GET['fio']; //Ф.И.О покупателя

$pasp = $_GET['pasp']; // серия и номер паспрота

$ido = $_GET['otdel']; //отдел, в котором получена скидка

$skidka = $_GET['skidka']; //размер скидки

//проверяем введенность данных, если данные не введены — выводим форму для заполнения

if (($fio=="") or ($pasp=="") or ($skidka=="") or ($otdel==""))

{

{echo '

Заполните полностью форму:

'.$form; }

}

else

{

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

//проверяем наличие записи об этом покупателе в базе данных

$sql = 'SELECT * FROM post_pokup WHERE fio = ''.$fio.'' AND pasp = ''.$pasp.'' AND ido = ''.$ido.'' LIMIT 0,100';

$result = mysql_query ($sql);

//если запись есть — обновляем данные о скидке

$num = mysql_num_rows ($result);

if ($num ≠0)

{

$row = mysql_fetch_array ($result);

$id = $row[0];

$sql="UPDATE post_pokup SET skidka='$skidka' WHERE (id='$id')" ;

$result = mysql_query ($sql);

echo '

Запись добавлена… Вы можете добавить новую

'.$form;

}

else

{

$sql = 'INSERT INTO post_pokup (id, ido, fio, pasp, skidka) VALUES ('', ''.$ido.'', ''.$fio.'', ''.$pasp.'', ''.$skidka.'');';

$result = mysql_query ($sql);

echo '

Запись добавлена… Вы можете добавить новую

'.$form;

}

}

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

addproduct.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

$part = $_GET['part'];

//форма для ввода данных пользователя

$form = «

Данные о товаре

Название

Цена (руб.)

Срок годности

Отдел для продажи этого товара:

Данные о производителе

Название фирмы

Адрес

«;

if ($part=="start")

{echo «

Заполните форму:

$form" ;}

if ($part=="go")

{

//запоминаем введенные данные

$nazvp = $_GET['nazvp']; //название продукта

$nazvpr = $_GET['nazvpr']; //название производителя

$price = $_GET['price']; //цена товара

$srok = $_GET['srok']; //срок годности товара

$sity = $_GET['sity']; //адрес производителя

$otdel = $_GET['otdel']; //отдел продажи

//проверяем введенность данных, если данные не введены — выводим форму для заполнения

if (($nazvp=="") or ($nazvpr=="") or ($price=="") or ($srok=="") or ($sity=="") or ($otdel==""))

{echo '

Заполните полностью форму:

'.$form; }

else

{

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

//проверяем наличие такого товара в базе данных

//строим запрос

$sql = 'SELECT * FROM product WHERE nazv = ''.$nazvp.'' AND price = ''.$price.'' AND srok = ''.$srok.'' LIMIT 0,1000';

//выполняем запрос

$result = mysql_query ($sql);

//вызываем функцию, считающую количество возвращенных записей

$num = mysql_num_rows ($result);

if ($num==0) //если записи нет

{

//добавление записи

//проверяем наличие введенного производителя

$idpr = 1; //идентификатор записи о производителе

//строим запром, выбирающий введенные данные

$sql = 'SELECT * FROM proizv WHERE nazv = ''.$nazvpr.'' AND sity = ''.$sity.'' AND ido = ''.$otdel.'' LIMIT 0,1000';

//выполняем запрос

$result = mysql_query ($sql);

//если запись есть — запоминаем ее ифнтификатор

$n = mysql_num_rows ($result);

if ($n ≠ 0)

{

$row = mysql_fetch_array ($result);

$idpr = $row[0];

}

//если записи нет — добавляем новую и запоминаем ее идентификатор

else

{

//добавление записи о производителе

$sql = 'INSERT INTO `proizv` (`idpr`, `ido`, `nazv`, `sity`) VALUES ('', ''.$otdel.'', ''.$nazvpr.'', ''.$sity.'');';

$result = mysql_query ($sql);

//выбираем добавленную запись и запоминаем идентификатор

//строим запром, выбирающий введенные данные

$sql = 'SELECT * FROM proizv WHERE nazv = ''.$nazvpr.'' AND sity = ''.$sity.'' AND ido = ''.$otdel.'' LIMIT 0,1000';

//выполняем запрос

$result = mysql_query ($sql);

// запоминаем идентификатор

$row = mysql_fetch_array ($result);

$idpr = $row[0];

}

//зная идентификатор производителя, добавляем запись о новом товаре

$sql = 'INSERT INTO `product` (`idp`, `idpr`, `nazv`, `srok`, `price`) VALUES ('', ''.$idpr.'', ''.$nazvp.'', ''.$srok.'', ''.$price.'');';

$result = mysql_query ($sql);

echo '

Запись добавлена. Вы можете добавить еще…

'.$form;

}

else //если запись есть

{ echo '

Такая запись уже есть в базе данных… Введите новые данные

'.$form;}

}

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

Addrab.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

$part = $_GET['part'];

//форма для заполнения

$form = «

Ф. И. О

Профессия

Оклад

Стаж работы

«;

if ($part=="start")

{echo «

Заполните форму:

$form" ;}

if ($part=="go")

{

//запоминаем введенные данные

$fio = $_GET['fio']; //Ф.И.О покупателя

$prof = $_GET['prof']; // профессия работника

$stag = $_GET['stag']; //стаж работы

$oklad = $_GET['oklad']; //оклад

//проверяем введенность данных, если данные не введены — выводим форму для заполнения

if (($fio=="") or ($prof=="") or ($oklad=="") or ($stag==""))

{

{echo '

Заполните полностью форму:

'.$form; }

}

else

{

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

//проверяем наличие записи об этом работнике в базе данных

$sql = 'SELECT * FROM rabotn WHERE fio = ''.$fio.'' AND prof = ''.$prof.'' AND stag = ''.$stag.'' LIMIT 0,100';

$result = mysql_query ($sql);

//если запись есть — обновляем данные об окладе

$num = mysql_num_rows ($result);

if ($num ≠0)

{

$row = mysql_fetch_array ($result);

$id = $row[0];

$sql="UPDATE rabotn SET oklad='$oklad' WHERE (id='$id')" ;

$result = mysql_query ($sql);

echo '

Запись обновлена… Вы можете добавить новую

'.$form;

}

else

{

$sql = 'INSERT INTO rabotn (id, fio, prof, stag, oklad) VALUES ('', ''.$fio.'', ''.$prof.'', ''.$stag.'', ''.$oklad.'');';

$result = mysql_query ($sql);

echo '

Запись добавлена… Вы можете добавить новую

'.$form;

}

}

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

delete.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

$part = $_GET['part'];

//запоминаем идентификатор, таблицу и имя поля записи, которую нужно удалить

$id = $_GET['id'];

$table = $_GET['table'];

$pole = $_GET['pole'];

if ($part == «start») //если начало процесса удаления

{

//выводим просьбу на подтверждение удаления

echo «

Действительно хотите удалить запись?

" ;

}

if ($part=="go") //если пользователь подтвердил удаление:

{

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

if ($table == «proizv») //если удаляет поставщика — удаляем также все записи о товарах, связанные с ним

{

//сначала удаляем товары

$sql = 'SELECT idp FROM product WHERE idpr = ''.$id.'' LIMIT 0, 1000';

$result = mysql_query ($sql);

$num = mysql_num_rows ($result);

if ($num≠0)

{

while ($row = mysql_fetch_array ($result))

{

$sql = 'DELETE FROM product WHERE idp = ''.$row[0]. '' LIMIT 1';

$res = mysql_query ($sql);

};

}

//освобаждаем результаты запросов

mysql_free_result ($result);

//затем удалем запись о поставщике

$sql = 'DELETE FROM proizv WHERE idpr = ''.$id.'' LIMIT 1';

$result = mysql_query ($sql);

}

else //если удаляет не поставщика

{

//строим запрос на удаление выбранной записи

$sql = 'DELETE FROM '.$table.' WHERE '.$pole.' = ''.$id.'' LIMIT 1';

//выполняем запрос

$result = mysql_query ($sql);

}

//ввыводим сообщение о том, что запись удалена

echo '

Запись удалена

';

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

lookall.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

$part = $_GET['part'];

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

if ($part=="all")

{

//строим запрос для выбора продуктов, их производителей и отдела, в котором они продаются

$sql = 'SELECT product. nazv, product. price, product. srok, proizv. nazv, proizv. sity, otdel. otdel, product. idp FROM product, proizv, otdel WHERE proizv. idpr = product. idpr AND otdel. ido = proizv. ido LIMIT 0,1000 ';

//выполняем запрос

$result = mysql_query ($sql);

//проверяем количество выбранных записей, если 0 — выводим сообщение о том, что записей нет, если > 0 — выводим их

$num = mysql_num_rows ($result);

if ($num==0)

{echo '

Записей нет

'; }

else

{

echo '

Список товаров

';

//строим таблицу, в которую будем выводить записи

echo '

';

//заполняем таблицу постепенно обрабатывая запрос

$i = 1;

while ($row = mysql_fetch_array ($result))

{

echo '

';

echo «

" ;

echo '

';

$i++;

};

echo '

№п.п

Название

Цена

Срок годности

Производитель

Отдел продажи

$i

$row[0]

$row[1]

$row[2]

$row[3],

$row[4]

$row[5]

Удалить

';

echo '

Добавить новый продукт

';

}

}

if ($part=="pr")

{

$idpr = $_GET['idpr'];

//строим запрос для выбора продуктов, их производителей и отдела, в котором они продаются

$sql = 'SELECT product. nazv, product. price, product. srok, proizv. nazv, proizv. sity, otdel. otdel, product. idp FROM product, proizv, otdel WHERE proizv. idpr = product. idpr AND otdel. ido = proizv. ido AND product. idpr = ''.$idpr.'' LIMIT 0,1000 ';

//выполняем запрос

$result = mysql_query ($sql);

//проверяем количество выбранных записей, если 0 — выводим сообщение о том, что записей нет, если > 0 — выводим их

$num = mysql_num_rows ($result);

if ($num==0)

{echo '

Записей нет

'; }

else

{

echo '

Список товаров

';

//строим таблицу, в которую будем выводить записи

echo '

';

//заполняем таблицу постепенно обрабатывая запрос

$i = 1;

while ($row = mysql_fetch_array ($result))

{

echo '

';

echo «

" ;

echo '

';

$i++;

};

echo '

№п.п

Название

Цена

Срок годности

Производитель

Отдел продажи

$i

$row[0]

$row[1]

$row[2]

$row[3],

$row[4]

$row[5]

Удалить

';

echo '

Добавить новый продукт

';

}

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

lookotdel.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

//запоминаем идентификационный номер отдела, переданного по строке адреса

$ido = $_GET['id'];

//подключаемся к СУБД MySQL

$connect = @mysql_connect («localhost», «root», «») or die («Ошибка подключения к MySQL»);

//выбираем базу банных

$db = @mysql_select_db («products»);

//строим запрос для выбора продуктов, их производителей и отдела, в котором они продаются

$sql = 'SELECT product. nazv, product. price, product. srok, proizv. nazv, proizv. sity, otdel. otdel, product. idp FROM product, proizv, otdel WHERE proizv. idpr = product. idpr AND otdel. ido = proizv. ido AND proizv. ido = ''.$ido.'' LIMIT 0,1000 ';

//выполняем запрос

$result = mysql_query ($sql);

//проверяем количество выбранных записей, если 0 — выводим сообщение о том, что записей нет, если > 0 — выводим их

$num = mysql_num_rows ($result);

if ($num==0)

{echo '

Записей нет

'; }

else

{

echo '

Список товаров

';

//строим таблицу, в которую будем выводить записи

echo '

';

//заполняем таблицу постепенно обрабатывая запрос

$i = 1;

while ($row = mysql_fetch_array ($result))

{

echo '

';

echo «

" ;

echo '

';

$i++;

};

echo '

№п.п

Название

Цена

Срок годности

Производитель

Отдел продажи

$i

$row[0]

$row[1]

$row[2]

$row[3],

$row[4]

$row[5]

Удалить

';

echo '

Добавить новый продукт

';

}

?>

Отделы продаж:

Мясной отдел

Рыбный отдел

Хлебо-булочные изделия

Молочный отдел

Кондитерский отдел

Бакалея

Напитки

Выполнила студентка группы 140 505 Кузьмина Кристина Валерьевна (c)

lookpokup.php

Магазин продуктов

Все товары

Поставщики продукции

Постоянные покупатели

Работники магазина

Главная страница

Показать весь текст
Заполнить форму текущей работой