Затем выводим в окно браузера форму ввода данных
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 (\'\', \''.$ido.'\', \''.$fio.'\', \''.$adres.'\', \''.$tel.'\', \''.$kol.'\');';
$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 = \''.$idz.'\' 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
-- 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>
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'];