Смекни!
smekni.com

Разработка Web-приложения Учёт оборудования с использованием PHP и СУБД MySQL (стр. 3 из 4)

Затем выводим в окно браузера форму ввода данных

if ($part=="start")

{

echo "<h2>Введите свои персональные данные</h2><br>$form";

}

После того, как пользователь заполнит форму и нажмет кнопку «Заказать», снова загрузится файл add.php, которому на этот раз переданы следующие параметры: part=go, идентификатор записи выбранного оборудования и данные, введенные пользователем.

В начале запоминаются переданные данные и проверяется заполнение формы, если форма заполнена не полностью – снова отображаем ее:

if ($part == "go")

{

$fio = $_GET['fio'];

$adres = $_GET['adres'];

$tel = $_GET['tel'];

$kol = $_GET['kol'];

$ido = $_GET['ido'];

if (($fio == "") or ($adres=="") or ($tel == ""))

{

echo '<h2>Вы не полностью заполнили форму</h2>'.$form;

}

Если пользователь заполнил все поля, то подключаемся к СУБД MySQL, выбираем базу данных и выполняем запрос, добавляющий запись в базу данных:

else

{

$sql = 'INSERT INTO `zak` ( `idz` , `ido` , `fio` , `adres` , `tel` , `kol` )

VALUES (&bsol;'&bsol;', &bsol;''.$ido.'&bsol;', &bsol;''.$fio.'&bsol;', &bsol;''.$adres.'&bsol;', &bsol;''.$tel.'&bsol;', &bsol;''.$kol.'&bsol;');';

$result = mysql_query($sql);

echo '<h2>Заказ добавлен</h2>';

echo '<h3>Мы благодарим Вас за то, что Вы выбрали нас.</h3>';

}

В результате добавления новой записи, в браузере будет отображено соответствующее сообщение:

Рисунок 9. Окно браузера в результате успешного добавления новой записи.

Удаление записей из БД

Если посетитель захочет просмотреть список своих заказов, то, после того как он, перейдя по ссылке «Список ваших заказов», введет свои данные в появившуюся форму, ему будет представлен список его заказов. Пример такого списка показан на рисунке 10.

Рисунок 10. Список заказов одного из клиентов.

В случае если пользователь решит удалить какой-либо свой заказ, ему просто потребуется щелкнуть по ссылке «Снять заказ» и эта запись будет удалена из базы данных.

Рисунок 11. Удаление записи

Рассмотрим более подробно процедуру удаления записи.

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

Подключаемся к MySQL и выбираем базу данных:

$conn = @mysql_connect("localhost","root") or die ("Ошибка соединения с MySQL");

$db = @mysql_select_db("db_06_ob") or die ("Ошибка подключения к базе данных");

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

$idz = $_GET['idz'];

$tab = $_GET['tab'];

Удаляем запись, идентификатор которой был передан по строке адреса:

$sql = 'DELETE FROM '.$tab.' WHERE idz = &bsol;''.$idz.'&bsol;' LIMIT 1';

$result = mysql_query($sql);

Заключение

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

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

В ходе разработки я также улучшил свои знания и умения по работе с HTML страницами. Также я научился передавать различные параметры РНР-приложению через адресную строку.

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

Список использованной литературы

1. «Разработка Web-приложений с помощью PHP и MySQL». Л.Веллинг и Л.Томсон

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

3. Файлы справок по phpMySQL_Admin

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

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

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

-- phpMyAdmin SQL Dump

-- version 2.6.1

-- http://www.phpmyadmin.net

-- Хост: localhost

-- Время создания: Дек 21 2007 г., 22:16

-- Версия сервера: 4.1.8

-- Версия PHP: 4.3.10

--

-- БД: `db_06_ob`

--

-- --------------------------------------------------------

--

-- Структура таблицы `firma`

--

CREATE TABLE `firma` (

`idf` int(11) NOT NULL auto_increment,

`ids` int(11) NOT NULL default '0',

`firma` text NOT NULL,

PRIMARY KEY (`idf`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ;

--

-- Дамп данных таблицы `firma`

--

INSERT INTO `firma` VALUES (1, 1, 'Tumen');

INSERT INTO `firma` VALUES (2, 2, 'Samsung');

INSERT INTO `firma` VALUES (3, 3, 'Stinol');

INSERT INTO `firma` VALUES (4, 1, 'Podolsk');

INSERT INTO `firma` VALUES (5, 3, 'Grand');

-- --------------------------------------------------------

--

-- Структура таблицы `obor`

--

CREATE TABLE `obor` (

`ido` int(11) NOT NULL auto_increment,

`idf` int(11) NOT NULL default '0',

`idt` int(11) NOT NULL default '0',

`marka` text NOT NULL,

`price` int(11) NOT NULL default '0',

PRIMARY KEY (`ido`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=11 ;

--

-- Дамп данных таблицы `obor`

--

INSERT INTO `obor` VALUES (1, 1, 1, 'mexan.torgovie 6 kg', 2000);

INSERT INTO `obor` VALUES (2, 2, 1, 'elektr.torgovie 10 kg', 3500);

INSERT INTO `obor` VALUES (3, 2, 1, 'elektr.porcionnie', 2500);

INSERT INTO `obor` VALUES (4, 1, 1, 'mexan.fasovochnie', 1500);

INSERT INTO `obor` VALUES (5, 3, 2, 'xolodilnaia RGW', 7000);

INSERT INTO `obor` VALUES (6, 3, 2, 'prilavok', 8000);

INSERT INTO `obor` VALUES (7, 4, 3, 'Merkurij', 3000);

INSERT INTO `obor` VALUES (8, 4, 3, 'Minika-100F', 5000);

INSERT INTO `obor` VALUES (9, 5, 3, 'EKR-2102K', 8000);

INSERT INTO `obor` VALUES (10, 5, 3, 'ER 250 RF', 6000);

-- --------------------------------------------------------

--

-- Структура таблицы `strana`

--

CREATE TABLE `strana` (

`ids` int(11) NOT NULL auto_increment,

`strana` text NOT NULL,

PRIMARY KEY (`ids`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

--

-- Дамп данных таблицы `strana`

--

INSERT INTO `strana` VALUES (1, 'Rossia');

INSERT INTO `strana` VALUES (2, 'China');

INSERT INTO `strana` VALUES (3, 'Germania');

-- --------------------------------------------------------

--

-- Структура таблицы `tip`

--

CREATE TABLE `tip` (

`idt` int(11) NOT NULL auto_increment,

`tip` text NOT NULL,

PRIMARY KEY (`idt`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

--

-- Дамп данных таблицы `tip`

--

INSERT INTO `tip` VALUES (1, 'vesi');

INSERT INTO `tip` VALUES (2, 'vetrina');

INSERT INTO `tip` VALUES (3, 'kassovij apparat');

-- --------------------------------------------------------

--

-- Структура таблицы `zak`

--

CREATE TABLE `zak` (

`idz` int(11) NOT NULL auto_increment,

`ido` int(11) NOT NULL default '0',

`fio` text NOT NULL,

`adres` text NOT NULL,

`tel` int(11) NOT NULL default '0',

`kol` int(11) NOT NULL default '0',

PRIMARY KEY (`idz`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

--

-- Дамп данных таблицы `zak`

--

INSERT INTO `zak` VALUES (1, 2, 'Ivanov Ivan Ivanovich', 'Gubkin Lenina 15 kv 17', 547854, 3);

INSERT INTO `zak` VALUES (2, 1, 'qwerty', 'qwerty', 123, 5);

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

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

body {background-image : url("image/fon.jpg")} H1 {text-align:center; font style:60pt; color:blue} H2 {text-align:center; font style:30pt; color:green} H3 {text-align:center; font style:20pt; color:red} H4 {text-align:center; font style:15pt} p {text-align:center; font-size:14pt; text-indent:15pt; font-family:Comic Sans MS; color:black} .header {text-align:center; font-size:14pt; font-weight:bold;}

Index.html

<html><head>

<title>Учёт оборудования</title>

<link rel="stylesheet" type="text/css" href="style.css"></head><body>

<h1>Учёт оборудования</h1><br>

<h3>Добро пожаловать на наш сайт!!! На этом сайте Вы можете просмотреть списки имеющегося в наличии оборудования и заказать его. Доставка по Белгороду БЕСПЛАТНО!!!</h3> <br>

<h3><a href='looko.php?part=look'>Оборудование</a></h3>

<h3><a href='lookf.php'>Фирмы производители</a></h3>

<h3><a href='lookz.php?part=start'>Список Ваших заказов</a></h3><br>

<h4>С предложениями по улучшению сайта и с различными вопросами обращайтесь к <a href='sozd.html'>создателю сайта</a>.</h4></body></html>

sozd.html

<html><head>

<title>Учёт оборудования</title>

<link rel="stylesheet" type="text/css" href="style.css"></head><body>

<h1>О создателе</h1><br>

<h3>Создателем данного сайта является студент второго курса группы 140606 факультета Компьютерных Наук и Телекоммуникаций Бредихин Александр Владимирович.</h3><br>

<h3><a href = "index.html">Вернуться на главную</a></h3></body></html>

Приложение 3. РНР-коды страниц сайта

add.php

<html><head>

<title>Учёт оборудования</title>

<link rel='stylesheet' type='text/css' href='style.css'>

</head><body>

<h1>Добавление нового заказа</h1>

<?php

$conn = @mysql_connect("localhost","root") or die ("Ошибка соединения с MySQL");

$db = @mysql_select_db("db_06_ob") or die ("Ошибка подключения к базе данных");

$part = $_GET['part'];

$ido = $_GET['ido'];

$form = "<form action = 'add.php' method = get>

<table width = 100%>

<tr><td width = 20%><p>Ф. И. О.</p></td>

<td><input type = 'text' size = 50 maxlength = 50 name = 'fio'></td></tr>

<tr><td><p>Адрес</p></td>

<td><input type = 'text' size = 50 maxlength = 50 name = 'adres'></td></tr>

<tr><td><p>Номер телефона</p></td>

<td><input type = 'text' size = 25 maxlength = 50 name = 'tel'></td></tr>

<tr><td><p>Количество</p></td>

<td><input type = 'text' size = 15 maxlength = 50 name = 'kol' value = '1'></td></tr>

<tr><td></td>

<td><br><input type = 'submit' value = 'Заказать'></td></tr>

<input type = hidden name = part value = 'go'>

<input type = hidden name = ido value = '$ido'>

</table></form>";

if ($part == "start")

{echo '<h2>Заполните форму:</h2><br>'.$form;}

if ($part == "go")

{$fio = $_GET['fio'];

$adres = $_GET['adres'];

$tel = $_GET['tel'];

$kol = $_GET['kol'];