Создание сайта знакомств

СОДЕРЖАНИЕ: МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования «Чувашский государственный университет им. И.Н. Ульянова»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное учреждение высшего профессионального образования «Чувашский государственный университет им. И.Н. Ульянова»

Факультет информатики и вычислительной техники

Кафедра «Информационно-вычислительных систем»

Дисциплина «Базы данных»

Пояснительная записка

к курсовой работе

Выполнил: студент ИВТ 12-04

Константинов Д.С.

Проверил: Буланкина Е.Ю.

Чебоксары – 2006 г.


Содержание

Задание.

1. Анализ. Предметная область.

1.1 Описание предметной области

1.2 Перечень и описание функций приложения обработки базы данных.

1.3 Перечень и описание сущностей и атрибутов базы данных.

2. Проектирование. Нормализация базы данных. Схема данных.

2.1 Пошаговое описание нормализации базы данных (методом ER-диаграмм).

2.2 Схема данных.

2.3 Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице.

3. Программная часть. Руководство программиста.

4. Тестирование. Результаты тестирования. Набор тестовых данных, обязательно включающий в себя критические точки, и результаты операций над ними.

5. Сопровождение. Руководство пользователя.

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

Приложение 1. Исходный текст приложения.

Задание

Необходимо провести нормализацию предметной области «Сайт знакомств» и программно реализовать, использую СУБД MySQL, язык HTML, технологии PHP и ADO, на выбор скриптовые языки VBScript или JavaScript.

1 . Анализ. Предметная область

1 .1 Описание предметной области

Дано описание предметной области:

Сайт знакомств

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

1 .2 Перечень и описание функций приложения обработки базы данных

Описание функций базы данных

1. Система должна обеспечивать поиск претендентов

2. Система должна поддерживать поиск сообщений

3. Система должна поддрживать удаление сообщений

4. Система должна поддерживать удаление пользователя

5. Система должна поддерживать изменение параметров пользователя

6. Система должна обеспечивать регистрацию пользователя

1 .3 Перечень и описание сущностей и атрибутов базы данных

Выделили следующие сущности:

· Пользователи-в ней находятся данные по пользователям

· Письма-в ней находятся данные переписки

· Фотографии- ссылки на фото пользователей

Перечень и описание всех атрибутов базы данных «Сайт знакомств»


Таблица 1

Имя атрибута Описание
1. Ник Ник пользователя
2. Пароль Пароль пользователя
3. Мыло Эл. Ящик пользователя
4. ДатаРег Дата регистрации
5. ДатаРожд Дата рождения
6. Глав Главная фотография
7. КолПросм Кол-во просмотров анкеты пользователя
8. ВремяЗаход Время последнего захода
9. Муж Пол пользователя
10. Рейтинг Рейтинг пользователя
11 Сообщен Тело сообщения
12 ОтКого От кого сообщение
13 КодФото Уникальный код фотографии
14 ДатаПослан Когда было послано сообщение
15 ИмяФото Имя фотографии
16 КодПисьма Уникальный код письма
17 Кому Кому было послано сообщение
18 Прочит Прчитано илинет

2 . Проектирование. Нормализация базы данных. Схема данных

2 .1 Пошаговое описание нормализации базы данных (методом ER -диаграмм )

Определим сущности:

· Пользователи

· Письма

· Фотографии

Шаг 1 . Каждый пользователь может имеет несколько писем. По этому со стороны пользователя модальность необязательно координальность много. Каждое письмо обязательно должно иметь двух пользователей. По этому со стороны переписки модальность обязательно координальность много.

Итак, получим ER-диаграмму, представленную на рис. 1:


Рис. 1

Шаг 2 . Каждый пользователь может имеет несколько фотографий. По этому со стороны пользователя модальность необязательно координальность много. Каждая фотография обязательно должно иметь только одного пользователя. По этому со стороны фотографии модальность обязательно координальность 1.

Итак, получим ER-диаграмму, представленную на рис. 2:



Итак, получим ER-диаграмму, представленную на рис. 3:

Имеют


Принадлежат


Подробное описание нормализации каждой связи.

Шаг 1 . Связь Имеют. Кардинальность связи многие ко многим. Требуются три отношения по одному для каждой сущности и одно для связи. Получим отношения:

Пользователи (Ник , Пароль, Мыло, ДатаРег, ДатаРожд, КолПросм, ВремяЗаход, Муж, Рейтинг)

Письма ( КодПисьма , Сообщен, ОтКого, ДатаПослан, Кому )

ПользоватПисьма( КодПисьма , Ник )

Шаг 2 . Связь Принадлежат. Кардинальность связи один ко многим и модальность со стороны М-связной сущности обязательно. Требуются два отношения по одному для каждой сущности. При этом ключ сущности будет первичным ключом для соответствующего отношения, и ключ односвязной сущности должен быть добавлен как атрибут (внешний ключ) в отношение, отводимое для М-связной сущности.

Получим отношения:

Пользователи (Ник , Пароль, Мыло, ДатаРег, ДатаРожд, КолПросм, ВремяЗаход, Муж, Рейтинг)

Фото( КодФото , Глав, ИмяФото,Ник)

2 .2 Схема данных

После нормализации получили следующие отношения:

Пользователи (Ник , Пароль, Мыло, ДатаРег, ДатаРожд, КолПросм, ВремяЗаход, Муж, Рейтинг)

Письма ( КодПисьма , Сообщен, ОтКого, ДатаПослан, Кому )

ПользоватПисьма( КодПисьма , Ник )

Фото( КодФото , Глав, ИмяФото,Ник)

2 .3 Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице

Таблица 2. Сводная таблица атрибутов и отношений базы данных «Сайт знакомств» после нормализации методом ER-диаграмм

Имя отношения (таблицы)
Имя атрибута Имя поля Тип д-х Описание
Пользователи ( Polzovateli )
Ник Nik tinitext Ник пользователя
Пароль Parol tinitext Пароль пользователя
Мыло Milo tinitext Эл. Ящик пользователя
ДатаРожд DataRozhd date Дата рождения пользователя
ДатаРег DataReg date Дата регистр. пользователя
КолПросм KolProsm mediumint Кол-во просмотров анкеты пользователя
ВремЗаход VremZahod datetime Время последнего захода пользователя
Муж Muzh set Пол пользователя
Рейтинг Reiting mediumint Рейтинг пользователя
Письма( Soobshen )
КодПисьма KodPisma int Уникальный код письма
ОтКого OtKogo tinytext Чье письмо
ДатаПослан DataPoslan datetime Дата послания письма
Сообщен Sobshen text Тело письма
Прочит Prochit Set(1,0) Прочитано или нет
Кому Komu tinytext Кому письмо
Фотографии( Foto )
КодФото KodFoto int Уникальный код фотографии
Ник Nik tinytext Кому принадлежит фото
ИмяФото ImaFoto tinytext Имя фотографии
Глав Glav set Главная ли фотография
ПользоватПисьма( PolzovatPisma )
Ник Nik tinitext Ник пользователя
КодПисьма KodPisma int Уникальный код письма

4. Программная часть. Руководство программиста

Сайт состоит из 7 скриптов каждый из которых выполняет определенные функции.

INDEX –с него запускается сайт содержит проверку пароля и Ника и ссылки на другие страницы включая регистрацию.

DOBAVFOTO-скрипт осуществляет добавление, удаление, и выбор главной фотографии т.е в нем осущиствлена вся работа с фотографиями

POISK-скрипт ищет претендентов на переписку по запросу пользователя

POSILKAPISEM-скрипт осуществляет отправку сообщений

PROSMOTRANKET-скрипт осуществляет просмотр своей и чужой анкеты

PROSMOTRSOBSHEN-скрипт осуществляет просмотр отправленных и принятых сообщений

REGISTRACIYA-скрипт осуществляет регистрацию пользователей

5. Тестирование. Результаты тестирования.

Никаких сбоев при выполнении тестирования не обнаружены. Все работает исправно.

6. Сопровождение. Руководство пользователя

Незарегестрированым пользователям не обходимо зарегестрироваться для этого необходимо перейти по ссылке «зарегестрироваться». Для зарегестрированых пользователей нужно вести свой ник и пароль и переходить по ссылкам.

Ссылки:

Поиск -осуществляет поиск пользователей

Просмотр анкеты - просмотр своей анкеты

Просмотр сообщений - просмотр отправленных и принятых сообщений

Отправка сообщений - отправка сообщений пользователям

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

1. Колисниченко Д.Н. Самоучитель PHP 5. – Издание 2-е – СПб.:Наука и Техника, 2005.

2. Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5 на примерах. – СПб.: БХВ – Петербург, 2005.

3. Кузнецов С.Д. PHP 4.0. Руководство пользователя. – М.: Майор, 2001.

Приложение 1. Исходный текст приложения

?

include_once PodkluchaemsyaKBaze.php;

if(isset($_REQUEST[Ok]))

{

//======================Проверканазаполнениевсехполей

if(($_REQUEST[adres]!==)($_REQUEST[NomProekt]!==)($_REQUEST[Postroen]!==))

{

$Adres=$_REQUEST[adres];

$NomProekt=$_REQUEST[NomProekt];

if($_REQUEST[Postroen]===Да)

{$Postroen=1;}

if($_REQUEST[Postroen]===Нет)

{$Postroen=0;}

//===========================проверкананаличиевбазе

$rez=mysql_query(SELECT * FROM Dom WHERE AdresDoma=.$Adres.);

if(mysql_num_rows($rez))

{echo brh3Дом уже находиться в базе/h3br;}

else

{

//==========================Вносим в базу

mysql_query(INSERT INTO Dom SET AdresDoma=.$Adres., NomerProekta=.$NomProekt., Postroika=.$Postroen.) or die(mysql_error());

echo brh3 color=\black\Дом добавлен/h3;

}

}

else

{

echo brh3Вы заполнили не все поля попробуйте еще/h3;

}

}

include_once PodkluchaemsyaKBaze.php;

//=====================Выводим адреса домов

$rez=mysql_query(SELECT AdresDoma FROM Dom);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

echo option value=\.$row[AdresDoma].\.$row[AdresDoma]./option;

}

?

/select

/span/label

p class=стиль3

labelНомер квартиры

input name=NomerKv type=text id=NomerKv

/label/p

p class=стиль3

labelПлощадь

input name=Ploshad type=text id=Ploshad

/label

/p

p class=стиль3

labelКоличество комнат

input name=KolKomnat type=text id=KolKomnat

/label

/p

p class=стиль3

labelКласс квартиры

input name=Klas type=text id=Klas

/label

/p

p

span class=стиль3

labelЭтаж

input name=etazh type=text id=etazh

/label

/span

label /label

/p

p

label

input name=Ok type=submit id=Ok value=Сохранить

/label

/p

/form

p class=стиль2nbsp;/p

?

if(isset($_REQUEST[Ok]))

{

//=====================Проверка на заполнение всех полей

if(($_REQUEST[Adres]!==)($_REQUEST[NomerKv]!==)($_REQUEST[KolKomnat]!==)($_REQUEST[Klas]!==)($_REQUEST[etazh]!==))

{

$Adres=$_REQUEST[Adres];

$NomKv=$_REQUEST[NomerKv];

$KolKomnat=$_REQUEST[KolKomnat];

$Klas=$_REQUEST[Klas];

$Etazh=$_REQUEST[etazh];

$Ploshad=$_REQUEST[Ploshad];

$rez=mysql_query(SELECT KodDoma FROM Dom WHERE AdresDoma=.$Adres.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodDoma=$row[KodDoma];

}

//=====================Проверка на наличие квартиры в базе

$rez=mysql_query(SELECT * FROM Kvartira WHERE KodDoma=.$KodDoma. AND NomerKvartiri=.$NomKv.);

if(mysql_num_rows($rez))

{echo brh3Квартира уже находиться в базе/h3br;}

else

{

//=============================Вносим в базу

mysql_query(INSERTINTOKvartiraSETKodDoma=.$KodDoma., NomerKvartiri=.$NomKv., Metrazh=.$Ploshad., KolichestvoKomnat=.$KolKomnat., KlasKvartiri=.$Klas., Etazh=.$Etazh.) ordie(mysql_error());

echo brh3 color=\black\Квартира добавленa/h3;

}

}

else

{

echo brh3Вы заполнили не все поля попробуйте еще/h3;

}

}

include_once PodkluchaemsyaKBaze.php;

if(isset($_REQUEST[Ok]))

{

//=====================Проверка на заполнение всех полей

if(($_REQUEST[FIO]!==)($_REQUEST[Adres]!==)($_REQUEST[Dolzhnost]!==)($_REQUEST[Brigada]!==))

{

$Adres=$_REQUEST[Adres];

$FIO=$_REQUEST[FIO];

$Dolzhnost=$_REQUEST[Dolzhnost];

$Brigada=$_REQUEST[Brigada];

//=====================Проверка на наличие рабочего в базе

$rez=mysql_query(SELECT * FROM Rabochiy WHERE FIORabochego=.$FIO. AND Adres=.$Adres.);

if(mysql_num_rows($rez))

{echo brh3Рабочий уже находиться в базе/h3br;}

else

{

//=============================Вносим в базу

mysql_query(INSERT INTO Rabochiy SET FIORabochego=.$FIO., Adres=.$Adres., Dolzhnost=.$Dolzhnost., Brigada=.$Brigada.) or die(mysql_error());

echo brh3 color=\black\Рабочий добавлен/h3;

}

}

else

{

echo brh3Вы заполнили не все поля попробуйте еще/h3;

}

}

include_once PodkluchaemsyaKBaze.php;

//==================Выводим адреса домов

$rez=mysql_query(SELECT AdresDoma FROM Dom);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

echo option value=\.$row[AdresDoma].\.$row[AdresDoma]./option;

}

?

/select

/span/div

/label

p align=left class=стиль3

labelНомер квартиры

input name=NomerKv type=text id=NomerKv /

/label

/p

p align=left class=стиль3

labelПлощадь

input name=Ploshad type=text id=Ploshad /

/label

/p

p align=left class=стиль3

labelКоличество комнат

input name=KolKomnat type=text id=KolKomnat /

/label

/p

p align=left class=стиль3

labelКласс квартиры

input name=Klas type=text id=Klas /

/label

/p

p align=left span class=стиль3

labelЭтаж

input name=etazh type=text id=etazh /

/label

/span

label /label

/p

p align=left

label

input name=Ok type=submit id=Ok value=Найти /

/label

/p

/form

h2nbsp;/h2

/div

?

if(isset($_REQUEST[Ok]))

{

$Adres=$_REQUEST[Adres];

$NomKv=$_REQUEST[NomerKv];

$KolKomnat=$_REQUEST[KolKomnat];

$Klas=$_REQUEST[Klas];

$Etazh=$_REQUEST[etazh];

$Ploshad=$_REQUEST[Ploshad];

//=====================Создание запроса

$zap=SELECT * FROM Kvartira WHERE ;

$hren=0;

if($_REQUEST[NomerKv]!==)

{$zap=$zap.NomerKvartiri=.$NomKv.; $hren=1;}

if($_REQUEST[KolKomnat]!==)

{

if($hren===1)

{$zap=$zap. AND ;}

$zap=$zap. KolichestvoKomnat=.$KolKomnat.;

$hren=1;

}

if($_REQUEST[Klas]!==)

{

if($hren===1)

{$zap=$zap. AND ;}

$zap=$zap. KlasKvartiri=.$Klas.;

$hren=1;

}

if($_REQUEST[etazh]!==)

{

if($hren===1)

{$zap=$zap. AND ;}

$zap=$zap. Etazh=.$Etazh.;

$hren=1;

}

if($_REQUEST[Ploshad]!==)

{

if($hren===1)

{$zap=$zap. AND ;}

$zap=$zap. Ploshad=.$Ploshad.;

$hren=1;

}

if($_REQUEST[Adres]!==)

{

//==========================Ищем код дома по его адресу

$rez=mysql_query(SELECT KodDoma FROM Dom WHERE AdresDoma=.$Adres.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodDoma=$row[KodDoma];

}

if($hren===1)

{$zap=$zap. AND ;}

$zap=$zap. KodDoma=.$KodDoma.;

}

//=======================Подаем созданый запрос

$rez=mysql_query($zap);

if(!mysql_num_rows($rez))

{

echo brh3По запросу ничего не найдено/h3br;

}

else

{

//=======================Вывод результатов поиска в таблице

echo table cellpadding=\2\ border=\0\ cellspacing=\0\;

echo trth class=\стиль4\Адрес/thth class=\стиль4\Квартира/thth class=\стиль4\Площадь/thth class=\стиль4\Кол-во комнат/thth class=\стиль4\Класс квартиры/thth class=\стиль4\Этаж/th;

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

//==================================Ищем адрес дома по его коду

$rezult=mysql_query(SELECT AdresDoma FROM Dom WHERE KodDoma=.$row[KodDoma].);

for($datas=array();$rows=mysql_fetch_assoc($rezult);$data[]=$rows)

{

$AdresDoma=$rows[AdresDoma];

}

echo trth.$AdresDoma./thth.$row[NomerKvartiri]./thth.$row[Metrazh]./thth.$row[KolichestvoKomnat]./thth.$row[KlasKvartiri]./thth.$row[Etazh]./th;

}

echo /table;

}

}

include_once PodkluchaemsyaKBaze.php;

echo form id=\form1\ name=\form1\ method=\post\ action=\OtkazatsyaOtZayavki.php\;

echo table cellpadding=\2\ border=\0\ cellspacing=\0\;

echo trth class=\стиль4\Адрес/thth class=\стиль4\Квартира/thth class=\стиль4\Площадь/thth class=\стиль4\Кол-во комнат/thth class=\стиль4\Класс квартиры/thth class=\стиль4\Этаж/thth class=\стиль4\Владелец/thth/th;

$rez=mysql_query(SELECT * FROM Pokupka);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodKlienta=$row[KodKlienta];

$KodKvartiri=$row[KodKvartiri];

$rez1=mysql_query(SELECT * FROM Klient WHERE KodKlienta=.$KodKlienta.);

for($data1=array();$row1=mysql_fetch_assoc($rez1);$data1[]=$row1)

{

$FIO=$row1[FIO];

}

$rez2=mysql_query(SELECT * FROM Kvartira WHERE KodKvartiri=.$KodKvartiri.);

for($data2=array();$row2=mysql_fetch_assoc($rez2);$data2[]=$row2)

{

$rezult=mysql_query(SELECT AdresDoma FROM Dom WHERE KodDoma=.$row2[KodDoma].);

for($datas=array();$rows=mysql_fetch_assoc($rezult);$data[]=$rows)

{

$AdresDoma=$rows[AdresDoma];

}

echo trth.$AdresDoma./thth.$row2[NomerKvartiri]./thth.$row2[Metrazh]./thth.$row2[KolichestvoKomnat]./thth.$row2[KlasKvartiri]./thth.$row2[Etazh]./thth.$FIO./ththinput type=checkbox name=ima[.$row[KodKvartiri].] value=\.$row[KodKlienta].\ /th;

}

}

echo /tableinput name=\Ok\ type=\submit\ id=\Ok\ value=\Отказаться\ / /form;

if(isset($_REQUEST[Ok]))

{

$data=array();

$data=$_REQUEST[ima];

foreach ($data as $v=$k)

{

mysql_query(DELETE FROM Pokupka WHERE KodKlienta=.$v. AND KodKvartiri=.$k.);

echo brh3 Удалили/h3;

}

}

//------------Начало открытии базы--------------

$user=root;

$pass=;

$db=Oleg;

mysql_connect(Oleg,$user,$pass)

or die(Could not connect: .mysql_error());

mysql_select_db($db)

or die(Could not select database: .mysql_error());

//-----------Конец открытию базы--------------------

//===========================Здесь пишутся(в браузере) все рабочии

include_once PodkluchaemsyaKBaze.php;

$rez=mysql_query(SELECT FIORabochego FROM Rabochiy);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

echo option value=\.$row[FIORabochego].\.$row[FIORabochego]./option;

}

?

/select

/label

p

labelКвартира

select name=Kvartira id=Kvartira

?

//========================Здесь пишутся(в браузере) все адреса домов и квартир

$rez=mysql_query(SELECT AdresDoma, NomerKvartiri FROM Dom D ,Kvartira K WHERE D.KodDoma=K.KodDoma);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

echo option value=\.$row[AdresDoma].@.$row[NomerKvartiri].\.$row[AdresDoma]._.$row[NomerKvartiri]./option;

}

?

/select

/label

/p

p

label

input name=Ok type=submit id=Ok value=Сохранить

/label

/p

/form

?

if(isset($_REQUEST[Ok]))

{

$Rabochiy=$_REQUEST[Rabochiy];

$Adres=$_REQUEST[Kvartira];

$massiv=array();

//===============вычисляет регулярное выражение разделяет улицу и номер дома от номера квартиры

preg_match(/([a-z]+[\D][0-9.]+)@([a-z0-9.]+)/is,$Adres,$massiv);

//======================================Находим код дома

$rez=mysql_query(SELECT KodDoma FROM Dom WHERE AdresDoma=.$massiv[1].);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodDoma=$row[KodDoma];

}

//=======================================По коду дома на ходим код квартиры

$rez=mysql_query(SELECT KodKvartiri FROM Kvartira WHERE KodDoma=.$KodDoma. AND NomerKvartiri=.$massiv[2].);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodKvartiri=$row[KodKvartiri];

}

//=======================================Находим код рабочего

$rez=mysql_query(SELECT KodRabochego FROM Rabochiy WHERE FIORabochego=.$Rabochiy.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodRabochego=$row[KodRabochego];

}

//===================================Закрепляем рабочего за квартирой

mysql_query(INSERT INTO Stoyka SET KodRabochego=.$KodRabochego., KodKvartiri=.$KodKvartiri.);

echo brh3 color=\black\Рабочий закреплен/h3;

}

include_once PodkluchaemsyaKBaze.php;

//=======================Выводим адреса домов

$rez=mysql_query(SELECT AdresDoma FROM Dom);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

echo option value=\.$row[AdresDoma].\.$row[AdresDoma]./option;

}

?

/select

br /

br /

Квартира

input name=Kvartira type=text id=Kvartira /

/label

p

label

input name=Ok type=submit id=Ok value=Добавить /

/label

/p

/form

pnbsp;/p

?

include_once PodkluchaemsyaKBaze.php;

if(isset($_REQUEST[Ok]))

{

//======================Проверканазаполнениевсехполей

if(($_REQUEST[Adres]!==)($_REQUEST[Kvartira]!==)($_REQUEST[FIO]!==)($_REQUEST[AdrKlient]!==))

{

$Adres=$_REQUEST[Adres];

$Kvartira=$_REQUEST[Kvartira];

$FIO=$_REQUEST[FIO];

$AdrKlient=$_REQUEST[AdrKlient];

//=============================Ищем код дома по его адресу

$rez=mysql_query(SELECT KodDoma FROM Dom WHERE AdresDoma=.$Adres.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodDoma=$row[KodDoma];

}

//==========================Проверяем а есть ли такая квартира

$rez=mysql_query(SELECT KodKvartiri FROM Kvartira WHERE KodDoma=.$KodDoma. AND NomerKvartiri=.$Kvartira.);

if(!mysql_num_rows($rez))

{

echo brh3Квартира не существует ведите данные правильно/h3;

}

else

{

//===========================Ищем код квартиры по адресу и номеру квартиры

$rez=mysql_query(SELECT KodKvartiri FROM Kvartira WHERE KodDoma=.$KodDoma. AND NomerKvartiri=.$Kvartira.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodKvartiri=$row[KodKvartiri];

}

//==========================Проверка есть ли в нашей базе этот клиент если нет добовляем его

$rez=mysql_query(SELECT KodKlienta FROM Klient WHERE FIO=.$FIO. AND AdresKlienta=.$AdrKlient.);

if(!mysql_num_rows($rez))

{

mysql_query(INSERT INTO Klient SET FIO=.$FIO., AdresKlienta=.$AdrKlient.);

}

//==============================Ищем код клиента для дальнейшего ввода в базу покупка

$rez=mysql_query(SELECT KodKlienta FROM Klient WHERE FIO=.$FIO. AND AdresKlienta=.$AdrKlient.);

for($data=array();$row=mysql_fetch_assoc($rez);$data[]=$row)

{

$KodKlienta=$row[KodKlienta];

}

//=========================Проверяем есть ли заявки на эту квартиру

$rez=mysql_query(SELECT KodKlienta FROM Pokupka WHERE KodKvartiri=.$KodKvartiri.);

if(mysql_num_rows($rez))

{

echo brh3Квартира уже зОбита/h3;

}

//=============================Если заявок нет вносим этого клиента в базу Покупка

else

{

mysql_query(INSERT INTO Pokupka SET KodKlienta=.$KodKlienta., KodKvartiri=.$KodKvartiri.);

echo brh3Заявка внесена в базу/h3;

}

}

}

else

{

echo brh3Заполните все поля/h3;

}

}

?

Скачать архив с текстом документа