Главная              Рефераты - Информатика

Программа Футбольный болельщик - курсовая работа

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

Федеральное государственное образовательное учреждение высшего профессионального образования

«Чувашский государственный университет им. И.Н. Ульянова»

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

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

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

Пояснительная записка к курсовой работе

Тема: «Футбольный болельщик»

Выполнил

Проверил

Чебоксары – 2009


Содержание

1 Задание

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

2.1 Описание предметной области (уточненной у преподавателя)

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

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

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

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

3.2 Схема данных

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

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

4.1 Назначение и условия применения программы

4.2 Характеристика программы

4.3 Обращение к программе

4.4 Входные и выходные данные

4.4.1 Словесное описание

4.4.2 Описание функций

4.5 Сообщения

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

5.1 Область применения программы

5.2 Краткое описание возможностей

5.3 Уровень подготовки пользователя

5.4 Программные и аппаратные требования к системе

5.5 Подготовка к работе

5.5.1 Состав дистрибутива

5.5.2 Аварийные ситуации

5.5.3 Рекомендации по освоению

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

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


1. Задание

Футбольный болельщик

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

В турнирной таблице учитываются очки (3 – за победу, 1 – за ничью, 0 за поражение), а также забитые и пропущенные голы, место проведения. Нужно хранить информацию о каждом матче.


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

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

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

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

1. Система должна хранить справочную информацию по игрокам, тренерам, командам, судьям, чемпионатам.

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

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

4. Система должна выводить таблицу результатов(сетку).

5. Система должна осуществлять поиск матчей.

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

Игроки. Каждый игрок имеет уникальный номер, ФИО, биографические сведения и амплуа.

Команды. За каждой командой закреплен соответствующий код, название, состав и краткие исторические сведения.

Тренеры. Каждый тренер имеет уникальный номер , ФИО, биографические сведения.

Судьи. Каждый судья имеет уникальный номер, ФИО, биографические сведения. Чемпионаты. Хранится уникальный номер чемпионата, название и год проведения.

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

2.4 Перечень и описание всех атрибутов базы данных

1 idChemp Номер чемпионата
2 NameChemp Название чемпионата
3 Year Год проведения чемпионата
4 idCom Номер команды
5 NameCom Название команды
6 AdressCom Адрес команды
7 Gorod Город команды
8 History Краткие исторические сведения о команде
9 DateSozd Год основания команды
10 IdMatch Уникальный код матча
11 DateMatch Дата матча
12 CityMatch Город, где проводился матч
13 idPlayer Уникальный код игрока
14 FPlayer Фамилия игрока
15 IPlayer Имя игрока
16 OPlayer Отчество игрока
17 DateRozhd Дата рождения игрока
18 Grazhd Гражданство игрока
19 Amplua Амплуа игрока
20 BiografPlayer Биографические сведения о игроке
21 idTren Уникальный код тренера
22 FTren Фамилия тренера
23 ITren Имя тренера
24 OTren Отчество тренера
25 DateRozhd Дата рождения тренера
26 Gorod Родной город тренера
27 BiografTren Биографические сведения о тренере
28 idSud Уникальный код судьи
29 FSud Фамилия судьи
30 ISud Имя судьи
31 OSud Отчество судьи
32 DateRozhd Дата рождения судьи
33 Gorod Родной город судьи
34 BiografSud Биографические сведения о судье
35 Doma Уникальный код команды, которая играла дома
36 Gost Уникальный код команды, которая играла в гостях
37 ZabMjach Кол-во забитых мячей командой, которая играла дома
38 PropMjach Кол-во пропущенных мячей командой, которая играла дома
39 Дата рождения тренера
40 DatePokup Дата покупки игрока
41 DateProdazh Дата продажи игрока
42 DateNaznach Дата назначения тренера
43 DateUchod Дата ухода тренера из команды
44 Dozhn Должностьтренера в команде

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

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

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

3.2 Схема данных

Chempionats (idChemp,NameChemp, Year)

Command(idCom, NameCom, AdressCom, Gorod, History, DateSozd, mini_img, big_img)

CommandInChemp (idChemp,idCom)

Matches(idMatch, idChemp, DateMatch, CityMatch)

MatchRezult (idMatch, Doma, Gost, ZabMjach, PropMjach)

Players (idPlayer, FPlayer, IPlayer, OPlayer, DateRozhd, Grazhd, BiografPlayer, Amplua)

Sostav (idCom, idPlayer, DatePokup, DateProdazh)

Sudja (idSud, FSud, ISud, OSud, DateRozhd, Gorod, BiografSud)

SudjiInMatch(idMatch, idSud)

Treners (idTren, FTren, ITren, OTren, DateRozhd, Gorod, BiografTren)

TrenersForCommand (idCom, idTren, DateNaznach, DateUchod)

3.3 Перечень и описание таблиц и их полей в сводной таблице

Chempionats
idChemp Номер чемпионата int
NameChemp Название чемпионата Varchar(255)
Year Год проведения чемпионата Year(4)
Command
idCom Номер команды Int
NameCom Название команды Varchar(255)
AdressCom Адрес команды Varchar(255)
Gorod Город команды Varchar(255)
History Краткие исторические сведения о команде Text
DateSozd Год основания команды Date
mini_img Логотип маленького размера Varchar(255)
big_img Логотип большого размера Varchar(255)
CommandInChemp
idChemp Номер чемпионата int
idCom Номер команды Int
Matches
IdMatch Уникальный код матча Int
idChemp Номер чемпионата int
DateMatch Дата матча Date
CityMatch Город, где проводился матч Varchar(255)
MachRezult
IdMatch Уникальный код матча Int
Doma Уникальный код команды, которая играла дома int
Gost Уникальный код команды, которая играла в гостях int
ZabMjach Кол-во забитых мячей командой, которая играла дома Int
PropMjach Кол-во пропущенных мячей командой, которая играла дома Int
Players
idPlayer Уникальный код игрока Int
FPlayer Фамилия игрока Varchar(255)
IPlayer Имя игрока Varchar(255)
OPlayer Отчество игрока Varchar(255)
DateRozhd Дата рождения игрока Date
Grazhd Гражданство игрока Varchar(255)
Amplua Амплуа игрока Varchar(255)
BiografPlayer Биографические сведения о игроке Text
Sostav
idCom Номер команды Int
idPlayer Уникальный код игрока Int
DatePokup Дата покупки игрока Date
DateProdazh Дата продажи игрока date
Treners
idTren Уникальный код тренера Int
FTren Фамилия тренера Varchar(255)
ITren Имя тренера Varchar(255)
OTren Отчество тренера Varchar(255)
DateRozhd Дата рождения тренера Date
Gorod Родной город тренера Varchar(255)
BiografTren Биографические сведения о тренере Text
TrenersForCommand
idCom Номер команды Int
idTren Уникальный код тренера Int
DateNaznach Дата назначения тренера Date
DateUchod Дата ухода тренера из команды Date
Dozhn Должностьтренера в команде Varchar(255)
Sudja
idSud Уникальный код судьи Int
FSud Фамилия судьи Varchar(255)
ISud Имя судьи Varchar(255)
OSud Отчество судьи Varchar(255)
DateRozhd Дата рождения судьи Date
Gorod Родной город судьи Varchar(255)
BiografSud Биографические сведения о судье Text
SudjiInMatch
IdMatch Уникальный код матча Int
idSud Уникальный код судьи Int

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

4.1 Назначение и условия применения программы

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

4.2 Характеристика программы

Программа обладает стандартными временными характеристиками и стандартным режимом работы.

4.3 Обращение к программе

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

4.4 Входные и выходные данные

4.4.1 Словесное описание

Страницы содержат ряд ссылок по которым осуществляется переход на другие страницы

<div class="razdelit">Списки</div>

<ul class="nav_ul">

<li><a href="command.php">Команды </a></li>

<li><a href="player.php">Игроки </a></li>

<li><a href="sudja.php">Судьи </a></li>

<li><a href="trener.php">Тренеры </a></li>

<li><a href="chempionats.php">Чемпионаты </a></li>

Страницы «Команды» (command.php), «Игроки» (player.php), «Судьи» (sudja.php), «Тренеры» (treners.php), «Чемпионаты» (chempionats.php), «Матчи» (match.php), отображаетсоответственносписоккоманд, игроков, судей, тренеров, чемпионатовиматчейвнесенныхвбазу:

<?php

$zapros = "SELECT * From (Matches INNER JOIN MatchRezult ON Matches.idMatch=MatchRezult.idMatch),Chempionats WHERE Chempionats.idChemp=Matches.idChemp".$wyear.$wchemp;

$result = mysql_query($zapros, $db);

while ($myrow = mysql_fetch_array($result))

{

$doma = $myrow["Doma"];

$res2 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$doma'");

$row2 = mysql_fetch_array($res2);

$gost = $myrow["Gost"];

$res3 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$gost'");

$row3 = mysql_fetch_array($res3);

printf( "<tr class='tabler2'>

<td class='tabler2'>%s</td>

<td class='tabler2'><a href='view_match.php?id=%s' >%s:%s</a></td>

<td class='tabler2'>%s</td>

<td class='tabler2'>%s</td>

<td class='tabler2'>%s</td>

</tr>",$row2[0], $myrow["idMatch"],$myrow["ZabMjach"],$myrow["PropMjach"], $row3[0], $myrow["DateMatch"],$myrow["CityMatch"]);

}

?>

Страница «Таблица »(table.php) производит подсчет очков, количества игр, разницы между забитыми и пропущенными мячами, количества поражений, побед и ничьих команд в соответствующем чемпионате:

<?php

$zapros="SELECTID,NameCom, Gorod, sum(igrDoma) igr, sum(zab)-sum(prop) mjach, sum(ochki) ochki,sum(vdoma) vdoma,sum(ndoma) ndoma,sum(pdoma) pdoma,sum(vgost) vgost,sum(ngost) ngost,sum(pgost) pgost, sum(prgost) prgost, sum(zabgost) zabgost, sum(prdoma) prdoma, sum(zabdoma) zabdoma

FROM(

SELECT Command.idCom as ID, NameCom, Gorod, count(Gost) as igrDoma, PropMjach zab,ZabMjach prop,

CASE

WHEN PropMjach-ZabMjach>0

THEN '3'

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ochki,

CASE

WHEN PropMjach-ZabMjach>0

THEN '1'

ELSE '0'

END vgost,

CASE

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ngost,

CASE

WHEN PropMjach-ZabMjach<0

THEN '1'

ELSE '0'

END pgost,0 vdoma,0 ndoma,0 pdoma, PropMjach zabgost,ZabMjach prgost, 0 prdoma, 0 zabdoma

FROM Command, Chempionats, MatchRezult, Matches

WHERE NameChemp='Чемпионат России' and

Matches.idMatch=MatchRezult.idMatch and

Command.idCom=Gost and

Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch

UNION ALL

SELECT Command.idCom as ID, NameCom, Gorod, count(Doma) as igrDoma, ZabMjach zab, PropMjach prop,

CASE

WHEN PropMjach-ZabMjach<0

THEN '3'

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ochki, 0,0,0,

CASE

WHEN PropMjach-ZabMjach<0

THEN '1'

ELSE '0'

END vgost,

CASE

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ngost,

CASE

WHEN PropMjach-ZabMjach>0

THEN '1'

ELSE '0'

END pgost, 0 zabgost, 0 prgost, PropMjach prdoma,ZabMjach zabdoma

FROM Command, Chempionats, MatchRezult, Matches

WHERE NameChemp='Чемпионат России' and

Matches.idMatch=MatchRezult.idMatch and

Command.idCom=Doma and

Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch

) xxx

GROUP BY ID ORDER BY ochki desc";

$result = mysql_query($zapros, $db);

$i=1;

while($myrow = mysql_fetch_array($result))

{

printf(" <tr>

<td class='tabler2' align='right'>%s.&nbsp;&nbsp;</td>

<td class='tabler2' align='left'>&nbsp;&nbsp;<a href='view_command.php?id=%s' >%s</a>(%s)</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s - %s</td>

<td class='tabler2' align='right'>&nbsp;</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s - %s</td>

<td class='tabler2' align='right'>&nbsp;</td>

</tr>",$i,$myrow['ID'],$myrow['NameCom'],$myrow['Gorod'],$myrow['igr'],$myrow['mjach'],$myrow['ochki'], $myrow['vdoma'], $myrow['ndoma'], $myrow['pdoma'], $myrow['zabdoma'], $myrow['prdoma'], $myrow['vgost'], $myrow['ngost'], $myrow['pgost'], $myrow['zabgost'], $myrow['prgost']

);

$i++;

}

?>

Страница «Результаты »(resгlt.php) генерирует турнирную сетку в соответствии с результатами матчей:

<?php

$zapros = "SELECT Command.idCom as ID, NameCom, Gorod

FROM Command, Chempionats, CommandInChemp

WHERE NameChemp='ЧемпионатРоссии' and

Command.idCom=CommandInChemp.idCom and

Chempionats.idChemp=CommandInChemp.idChemp".$wyear." GROUP BY Command.idCom";

$result = mysql_query($zapros, $db);

$i=1;

$k=1;

printf(" <tr>

<td width='25' class='tabler'>&nbsp;</td>

<td width='50' class='tablerrez'>&nbsp;&nbsp;команда</td>");

while ($myrow = mysql_fetch_array($result))

{

printf("<td align='center' width='25' class='tablerrez'>&nbsp;%s</td>", $i);

$comarray[$i]=$myrow['ID'];

$i++;

}

printf(" </tr>");

$result = mysql_query($zapros, $db);

while($myrow = mysql_fetch_array($result))

{

$c=1;

$zapis=1;

printf(" <tr>

<td width='25' class='tablerrez'>&nbsp;%s</td>

<td>

<table width='140' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;%s</td>

</tr>

<tr>

<td class='tablerrez'>&nbsp;%s</td>

</tr>

</table>

</td>",$k, $myrow['NameCom'],$myrow['Gorod']);

do {

if($k==$c)

{

$c++;

}

else

{

$vgost = $myrow["ID"];

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

$row3 = mysql_fetch_array($res3);

$vdoma = $row3['Doma'];

do {

$vdoma = $row3['Doma'];

if ($comarray[$c]==$vdoma)

{

$gostarray[$k][$c]=$row3['PropMjach'].":".$row3['ZabMjach'];

$zapis++;

}

else

if($k==$c)

{

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

for($mas=1;$mas<$c;$mas++)

$row3 = mysql_fetch_array($res3);

}

else

{

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

for($mas=1;$mas<$zapis;$mas++)

$row3 = mysql_fetch_array($res3);

}

$c++;

}

while($c<$i && $row3 = mysql_fetch_array($res3));

}//else

}

while($c<$i);

$c=1;

$zapis=1;

do {

if($k==$c)

{

printf("

<td width='25' bgcolor='#939393'>

</td>");

$c++;

}

else

{

$doma = $myrow["ID"];

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

$row2 = mysql_fetch_array($res2);

$gost = $row2['Gost'];

if($gost == '')

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$gostarray[$k][$c]);

$c++;

}

else

{

do {

$gost = $row2['Gost'];

if ($comarray[$c]==$gost)

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;%s:%s</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);

$zapis++;

}

else

if($k==$c)

{

printf("

<td width='25' bgcolor='#939393'>

</td>");

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

for($mas=1;$mas<$c;$mas++)

$row2 = mysql_fetch_array($res2);

}

else

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$gostarray[$k][$c]);

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='ЧемпионатРоссии' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

for($mas=1;$mas<$zapis;$mas++)

$row2 = mysql_fetch_array($res2);

}

$c++;

}

while($c<$i && $row2 = mysql_fetch_array($res2));

}

}//else

}

while($c<$i);

$k++;

printf(" </tr>");

}

?>

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

4.4.2 Описание функций

mysql_connect() – подключение к MySQL;

include("bd.php") – подключение к файлу;

printf() – вывод информации на экран;

mysql_query () – возвращение результата запроса;

mysql_fetch_array () – получение результата запроса;

echo – вывод информации;


4.5 Сообщения

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


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

5.1. Область применения программы

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

5.2 Краткое описание возможностей

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

5.3 Уровень подготовки пользователя

Пользователи системы должны иметь опыт работы с персональным компьютером на базе операционных систем Microsoft Windows и с браузером типа «Opera» или «IE 5» и выше на уровне среднего пользователя и свободно осуществлять базовые операции.

5.4 Программные и аппаратные требования к системе

Требования к программному обеспечению:

– браузер типа «Opera» или «IE» ;

Требования к аппаратному обеспечению:

– Серверы БД;

– Веб сервер;

– ПК пользователей;

– ПК администраторов.


5.5 Подготовка к работе

5.5.1 Состав дистрибутива

В состав дистрибутива «Футбольный болельщик» входит:

- Серверная часть Windows приложения;

- Клиентская часть Windows приложения;

5.5.2 Аварийные ситуации

При сбое в работе аппаратуры восстановление нормальной работы системы должно производиться после:

- перезагрузки операционной системы;

- запуска исполняемого файла системы;

При ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС.

При ошибках, связанных с программным обеспечением (ОС и драйверы устройств), восстановление работоспособности возлагается на ОС.

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

5.5.3 Рекомендации по освоению

Для успешного освоения приложения «Футбольный болельщик» необходимо иметь навыки работы с ПК, базовые знания HTML(для корректного ввода текстовой информации) и изучить следующее:

- Настоящее «Руководство пользователя».


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

1. Евгений Попов. PHP и Mysql для начинающих. Видео уроки. 2007.

2. Т.Карпова. Базы данных. Модели, разработка, реализация. «Питер», Санкт-Птербург, 2002.

3. Алексей Гончаров. Самоучитель HTML.

4. www.softtime.ru


7. Приложение 1

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

bd.php

<?php

$db = mysql_connect("localhost","root","");

mysql_select_db ("football",$db);

?>

left.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

?>

<td width="163" valign="top" class="left">

<br>

<ul class="nav_ul">

<li><a href="index.php">Главная </a></li>

<?php

$result = mysql_query("SELECT Year FROM Chempionats ORDER BY Year desc");

$myrow = mysql_fetch_array($result);

printf("<li><a href='match.php?year=%s'>Матчи </a></li>",$myrow[0]);

?>

<?php

$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc");

$myrow = mysql_fetch_array($result);

printf("<li><a href='result.php?year=%s'>Результат </a></li>",$myrow[0]);

?>

<?php

$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc");

$myrow = mysql_fetch_array($result);

printf("<li><a href='table.php?year=%s'>Таблица </a></li>",$myrow[0]);

?>

</ul>

<div class="razdelit">Списки</div>

<ul class="nav_ul">

<li><a href="command.php">Команды </a></li>

<li><a href="player.php">Игроки </a></li>

<li><a href="sudja.php">Судьи </a></li>

<li><a href="trener.php">Тренеры </a></li>

<li><a href="chempionats.php">Чемпионаты </a></li>

</ul>

<br>

</td>

match.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

$year2='';

$namechemp='';

if(isset($_GET['year']))

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

$year2="&year=$year";

$wyear=" and Year='$year'";}

else {$wyear='';}

if(isset($_GET['NameChemp']))

{$chemp = $_GET['NameChemp'];

$namechemp="&NameChemp=$chemp";

$wchemp=" and NameChemp='$chemp'";}

else {$wchemp='';}

?>

<!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=windows-1251" />

<title>Матчи</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr align="right" class="pod">

<?php

printf("<td>Чемпионат <select class='pod' size=1 type=text name=chemps onchange='location.href=this.value' >

<option value='match.php?$year2'>Все чемпионаты");

$result = mysql_query("SELECT NameChemp FROM Chempionats GROUP BY NameChemp", $db);

$myrow = mysql_fetch_array($result);

do {

$s='';

if($_GET['NameChemp'] == $myrow['NameChemp'])

$s=" selected='selected'";

printf("<option value='match.php?NameChemp=%s$year2' $s>%s",$myrow['NameChemp'],$myrow['NameChemp']);

}

while($myrow = mysql_fetch_array($result));

printf("</select></td>");

printf("<td>Год <select class='pod' size=1 type=text name=year onchange='location.href=this.value' >");

$result = mysql_query("SELECT Year FROM Chempionats GROUP BY Year ORDER BY Year desc", $db);

$myrow = mysql_fetch_array($result);

do {

$s='';

if($_GET['year'] == $myrow['Year'])

$s=" selected='selected'";

printf("<option value='match.php?year=%s$namechemp' $s>%s",$myrow['Year'],$myrow['Year']);

}

while($myrow = mysql_fetch_array($result));

printf("</select></td>");

?>

</tr>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr class='tabler'>

<td class='tabler'>Хозяева</td>

<td class='tabler'>Счет</td>

<td class='tabler'>Гости</td>

<td class='tabler'>Дата</td>

<td class='tabler'>Город</td>

</tr>

<?php

$zapros = "SELECT * From (Matches INNER JOIN MatchRezult ON Matches.idMatch=MatchRezult.idMatch),Chempionats WHERE Chempionats.idChemp=Matches.idChemp".$wyear.$wchemp;

$result = mysql_query($zapros, $db);

while ($myrow = mysql_fetch_array($result))

{

$doma = $myrow["Doma"];

$res2 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$doma'");

$row2 = mysql_fetch_array($res2);

$gost = $myrow["Gost"];

$res3 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$gost'");

$row3 = mysql_fetch_array($res3);

printf( "<tr class='tabler2'>

<td class='tabler2'>%s</td>

<td class='tabler2'><a href='view_match.php?id=%s' >%s:%s</a></td>

<td class='tabler2'>%s</td>

<td class='tabler2'>%s</td>

<td class='tabler2'>%s</td>

</tr>",$row2[0], $myrow["idMatch"],$myrow["ZabMjach"],$myrow["PropMjach"], $row3[0], $myrow["DateMatch"],$myrow["CityMatch"]);

}

?>

</table>

</td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

command.php

<?php

include("blocks/bd.php");/* Соединяемс с БД */

?>

<!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=windows-1251" />

<title>Команды</title>

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

<style type="text/css">

<!--

стиль1 {font-family: Geneva, Arial, Helvetica, sans-serif}

стиль2 {color: #000000}

-->

</style>

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>

<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">

<?php

$result = mysql_query("SELECT idCom, NameCom, Gorod, mini_img FROM Command", $db);

$myrow = mysql_fetch_array($result);

do {

$i=0;

printf( "<tr>");

do {

printf(" <td width='40' height='50'><a href='view_command.php?id=%s' ><img src='%s'/></a></td>

<td class='com'><a href='view_command.php?id=%s' ><strong>%s</strong></a> (%s)</td>",

$myrow["idCom"],

$myrow["mini_img"],

$myrow["idCom"],

$myrow["NameCom"],

$myrow["Gorod"]);

$i++;

}

while ($i<2 && $myrow = mysql_fetch_array($result));

printf( "</tr>");

}

while ($myrow = mysql_fetch_array($result));

?>

</table>

</td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

View_match.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

$idMatch=$_GET['id'];

?>

<!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=windows-1251" />

<title>Матч</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top">

<p>

<?php

$result = mysql_query("SELECT CityMatch,Year,NameChemp FROM Matches,Chempionats WHERE idMatch='$idMatch' and Matches.idChemp = Chempionats.idChemp ", $db);

$myrow = mysql_fetch_array($result);

printf("<table border='0' cellspacing='0' cellpadding='0' >

<tr>

<td class='spisok'>&nbsp;%s %s</td>

</tr>

<tr>

<td class='spisok'>&nbsp;Место проведения матча: %s</td>

</tr>

</table>", $myrow['NameChemp'], $myrow['Year'], $myrow['CityMatch']);

?>

</p>

<p>

<table width="100%" height="49" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td width="10%" rowspan="2" align="right" valign="middle" class="gorod">

<?php

$result = mysql_query("SELECT * FROM Matches,MatchRezult WHERE Matches.idMatch='$idMatch' and Matches.idMatch = MatchRezult.idMatch", $db);

$myrow = mysql_fetch_array($result);

$doma = $myrow["Doma"];

$res2 = mysql_query("SELECT NameCom,mini_img,Gorod FROM MatchRezult, Command WHERE idCom='$doma'");

$row2 = mysql_fetch_array($res2);

$gost = $myrow["Gost"];

$res3 = mysql_query("SELECT NameCom,mini_img,Gorod FROM MatchRezult, Command WHERE idCom='$gost'");

$row3 = mysql_fetch_array($res3);

printf("<img src='%s'/>", $row2['mini_img']);

?>

</td>

<td width="28%" align="center" valign="bottom" class="comand"><?php echo $row2['NameCom'] ?></td>

<td width="8%" rowspan="2" align="right" valign="middle" class="schet"><?php echo $myrow['ZabMjach'] ?></td>

<td width="3%" rowspan="2" align="center" valign="middle" class="tochki">:</td>

<td width="8%" rowspan="2" align="left" valign="middle" class="schet"><?php echo $myrow['PropMjach'] ?></td>

<td width="27%" align="center" valign="bottom" class="comand"><?php echo $row3['NameCom'] ?></td>

<td width="12%" rowspan="2" align="left" valign="middle" class="gorod">

<?php

printf("<img src='%s'/>",$row3['mini_img']);

?>

</td>

</tr>

<tr>

<td align="center" valign="top" class="gorod"><?php echo $row2['Gorod'] ?></td>

<td align="center" valign="top" class="gorod"><?php echo $row3['Gorod'] ?></td>

</tr>

</table>

</p>

<table width="50%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td class="view">Судьи: <br>

<?php

$result = mysql_query("SELECT FSud, Isud,OSud, Gorod FROM Sudja,SudjiInMatch

WHERE Sudja.idSud = SudjiInMatch.idSud and

idMatch='$idMatch'", $db);

while($myrow = mysql_fetch_array($result))

{

printf("%s %s %s (%s)<br>",$myrow['FSud'],$myrow['Isud'],$myrow['OSud'], $myrow['Gorod']);

}

?>

</td>

</tr>

</table>

</td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

table.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

if(isset($_GET['year']))

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

$wyear=" and Year='$year'";}

else {$wyear='';}

?>

<!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=windows-1251" />

<title>Таблица</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr align="right" class="pod">

<?php

printf("<td>Год <select class='pod' size=1 type=text name=year onchange='location.href=this.value' >");

$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' GROUP BY Year ORDER BY Year desc", $db);

$myrow = mysql_fetch_array($result);

do {

$s='';

if($_GET['year'] == $myrow['Year'])

$s=" selected='selected'";

printf("<option value='table.php?year=%s' $s>%s",$myrow['Year'],$myrow['Year']);

}

while($myrow = mysql_fetch_array($result));

printf("</select></td>");

?>

</tr>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr class='tabler'>

<td width="29%" class='tabler'>&nbsp;</td>

<td width="21%" align="center" class='tabler'>Всего</td>

<td width="28%" align="center" class='tabler'>Дома</td>

<td width="22%" align="center" class='tabler'> В гостях </td>

</tr>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr class="tabler">

<td class="tabler" width="38" align="center">М</td>

<td class="tabler" width="216" align="center">Команда</td>

<td class="tabler" width="33" align="center">И</td>

<td class="tabler" width="45" align="right">Мячи</td>

<td class="tabler" width="33" align="center">О</td>

<td class="tabler" width="40" align="center">&nbsp;</td>

<td class="tabler" width="33" align="center">В</td>

<td class="tabler" width="33" align="center">Н</td>

<td class="tabler" width="33" align="center">П</td>

<td class="tabler" width="50" align="right">З - П </td>

<td class="tabler" width="40" align="center">&nbsp;</td>

<td class="tabler" width="33" align="center">В</td>

<td class="tabler" width="33" align="center">Н</td>

<td class="tabler" width="33" align="center">П</td>

<td class="tabler" width="50" align="right">З - П </td>

<td class="tabler" width="5" align="right">&nbsp;</td>

</tr>

<?php

$zapros="SELECT ID,NameCom, Gorod, sum(igrDoma) igr, sum(zab)-sum(prop) mjach, sum(ochki) ochki,sum(vdoma) vdoma,sum(ndoma) ndoma,sum(pdoma) pdoma,sum(vgost) vgost,sum(ngost) ngost,sum(pgost) pgost, sum(prgost) prgost, sum(zabgost) zabgost, sum(prdoma) prdoma, sum(zabdoma) zabdoma

FROM(

SELECT Command.idCom as ID, NameCom, Gorod, count(Gost) as igrDoma, PropMjach zab,ZabMjach prop,

CASE

WHEN PropMjach-ZabMjach>0

THEN '3'

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ochki,

CASE

WHEN PropMjach-ZabMjach>0

THEN '1'

ELSE '0'

END vgost,

CASE

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ngost,

CASE

WHEN PropMjach-ZabMjach<0

THEN '1'

ELSE '0'

END pgost,0 vdoma,0 ndoma,0 pdoma, PropMjach zabgost,ZabMjach prgost, 0 prdoma, 0 zabdoma

FROM Command, Chempionats, MatchRezult, Matches

WHERE NameChemp='Чемпионат России' and

Matches.idMatch=MatchRezult.idMatch and

Command.idCom=Gost and

Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch

UNION ALL

SELECT Command.idCom as ID, NameCom, Gorod, count(Doma) as igrDoma, ZabMjach zab, PropMjach prop,

CASE

WHEN PropMjach-ZabMjach<0

THEN '3'

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ochki, 0,0,0,

CASE

WHEN PropMjach-ZabMjach<0

THEN '1'

ELSE '0'

END vgost,

CASE

WHEN PropMjach-ZabMjach=0

THEN '1'

ELSE '0'

END ngost,

CASE

WHEN PropMjach-ZabMjach>0

THEN '1'

ELSE '0'

END pgost, 0 zabgost, 0 prgost, PropMjach prdoma,ZabMjach zabdoma

FROM Command, Chempionats, MatchRezult, Matches

WHERE NameChemp='Чемпионат России' and

Matches.idMatch=MatchRezult.idMatch and

Command.idCom=Doma and

Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch

) xxx

GROUP BY ID ORDER BY ochki desc";

$result = mysql_query($zapros, $db);

$i=1;

while($myrow = mysql_fetch_array($result))

{

printf(" <tr>

<td class='tabler2' align='right'>%s.&nbsp;&nbsp;</td>

<td class='tabler2' align='left'>&nbsp;&nbsp;<a href='view_command.php?id=%s' >%s</a>(%s)</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s - %s</td>

<td class='tabler2' align='right'>&nbsp;</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='center'>&nbsp;%s</td>

<td class='tabler2' align='right'>&nbsp;%s - %s</td>

<td class='tabler2' align='right'>&nbsp;</td>

</tr>",$i,$myrow['ID'],$myrow['NameCom'],$myrow['Gorod'],$myrow['igr'],$myrow['mjach'],$myrow['ochki'], $myrow['vdoma'], $myrow['ndoma'], $myrow['pdoma'], $myrow['zabdoma'], $myrow['prdoma'], $myrow['vgost'], $myrow['ngost'], $myrow['pgost'], $myrow['zabgost'], $myrow['prgost']

);

$i++;

}

?>

</table>

<p>&nbsp;</p></td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

Result.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

if(isset($_GET['year']))

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

$wyear=" and Year='$year'";}

else {$wyear='';}

?>

<!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=windows-1251" />

<title>Таблица</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr align="right" class="pod">

<?php

printf("<td>Год <select class='pod' size=1 type=text name=year onchange='location.href=this.value' >");

$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' GROUP BY Year ORDER BY Year desc", $db);

$myrow = mysql_fetch_array($result);

do {

$s='';

if($_GET['year'] == $myrow['Year'])

$s=" selected='selected'";

printf("<option value='result.php?year=%s' $s>%s",$myrow['Year'],$myrow['Year']);

}

while($myrow = mysql_fetch_array($result));

printf("</select></td>");

?>

</tr>

</table>

<table width="29%" border="0" cellspacing="0" cellpadding="0">

<?php

$zapros = "SELECT Command.idCom as ID, NameCom, Gorod

FROM Command, Chempionats, CommandInChemp

WHERE NameChemp='Чемпионат России' and

Command.idCom=CommandInChemp.idCom and

Chempionats.idChemp=CommandInChemp.idChemp".$wyear." GROUP BY Command.idCom";

$result = mysql_query($zapros, $db);

$i=1;

$k=1;

printf(" <tr>

<td width='25' class='tabler'>&nbsp;</td>

<td width='50' class='tablerrez'>&nbsp;&nbsp;команда</td>");

while ($myrow = mysql_fetch_array($result))

{

printf("<td align='center' width='25'

class='tablerrez'>&nbsp;%s</td>", $i);

$comarray[$i]=$myrow['ID'];

$i++;

}

printf(" </tr>");

$result = mysql_query($zapros, $db);

while($myrow = mysql_fetch_array($result))

{

$c=1;

$zapis=1;

printf(" <tr>

<td width='25' class='tablerrez'>&nbsp;%s</td>

<td>

<table width='140' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;%s</td>

</tr>

<tr>

<td class='tablerrez'>&nbsp;%s</td>

</tr>

</table>

</td>",$k, $myrow['NameCom'],$myrow['Gorod']);

do {

if($k==$c)

{

$c++;

}

else

{

$vgost = $myrow["ID"];

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

$row3 = mysql_fetch_array($res3);

$vdoma = $row3['Doma'];

do {

$vdoma = $row3['Doma'];

if ($comarray[$c]==$vdoma)

{

$gostarray[$k][$c]=$row3['PropMjach'].":".$row3['ZabMjach'];

$zapis++;

}

else

if($k==$c)

{

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

for($mas=1;$mas<$c;$mas++)

$row3 = mysql_fetch_array($res3);

}

else

{

$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Gost='$vgost' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");

for($mas=1;$mas<$zapis;$mas++)

$row3 = mysql_fetch_array($res3);

}

$c++;

}

while($c<$i && $row3 = mysql_fetch_array($res3));

}//else

}

while($c<$i);

$c=1;

$zapis=1;

do {

if($k==$c)

{

printf("

<td width='25' bgcolor='#939393'>

</td>");

$c++;

}

else

{

$doma = $myrow["ID"];

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

$row2 = mysql_fetch_array($res2);

$gost = $row2['Gost'];

if($gost == '')

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$gostarray[$k][$c]);

$c++;

}

else

{

do {

$gost = $row2['Gost'];

if ($comarray[$c]==$gost)

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;%s:%s</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);

$zapis++;

}

else

if($k==$c)

{

printf("

<td width='25' bgcolor='#939393'>

</td>");

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

for($mas=1;$mas<$c;$mas++)

$row2 = mysql_fetch_array($res2);

}

else

{

printf("

<td width='25'>

<table width='35' border='0' cellspacing='0' cellpadding='0'>

<tr>

<td class='tablerrez2'>&nbsp;</td>

</tr>

<tr>

<td class='tablerrez3'>&nbsp;%s</td>

</tr>

</table>

</td>",$gostarray[$k][$c]);

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats

WHERE Doma='$doma' and

Matches.idMatch=MatchRezult.idMatch and

NameChemp='Чемпионат России' and

Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

for($mas=1;$mas<$zapis;$mas++)

$row2 =

mysql_fetch_array($res2);

}

$c++;

}

while($c<$i && $row2 = mysql_fetch_array($res2));

}

}//else

}

while($c<$i);

$k++;

printf(" </tr>");

}

?>

</table>

<br>

<table width='222' height='24' border='0' cellpadding='0' cellspacing='0'>

<tr>

<td width='41' class='main_border'><img src='img/doma.gif' width='41' height='21' /></td>

<td width='70' class='pod'> -дома </td>

<td width='41' class='main_border'><img src='img/vgost.gif' width='39' height='21' /></td>

<td width='70' class='pod'>-в гостях </td>

</tr>

</table>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

New_match.php

<?php

include("blocks/bd.php");/* Соединяемся с БД */

?>

<!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=windows-1251" />

<title>Добавление</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top" class="spisok">

<form name="form1" method="post" action="add_match.php">

<p>

<label>Выберите чемпионат&nbsp;&nbsp;&nbsp;</label>

<?php

printf(" <select class='pod' name='idChemp' >");

$result = mysql_query("SELECT idChemp, NameChemp, Year FROM Chempionats", $db);

$myrow = mysql_fetch_array($result);

do {

printf("<option value='%s'>%s %s",$myrow['idChemp'],$myrow['NameChemp'],$myrow['Year']);

}

while($myrow = mysql_fetch_array($result));

printf("</select>");

?>

</p>

<p>

<label>Выберите команду, которая играла дома &nbsp;&nbsp;</label>

<?php

printf(" <select class='pod' size=1 type=text name='Doma' >");

$result = mysql_query("SELECT idCom, NameCom FROM Command", $db);

$myrow = mysql_fetch_array($result);

do {

printf("<option value='%s'>%s",$myrow['idCom'],$myrow['NameCom']);

}

while($myrow = mysql_fetch_array($result));

printf("</select>");

?>

</p>

<p>

<label>Выберите команду, которая играла в гостях &nbsp;&nbsp;</label>

<?php

printf(" <select class='pod' size=1 type=text name='Gost' >");

$result = mysql_query("SELECT idCom, NameCom FROM Command", $db);

$myrow = mysql_fetch_array($result);

do {

printf("<option value='%s'>%s",$myrow['idCom'],$myrow['NameCom']);

}

while($myrow = mysql_fetch_array($result));

printf("</select>");

?>

</p>

<p>

<label>Введитедату матча

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input name="datematch" type="text" />

</label>

</p>

<p>

<label>Введите количество мячей, забитых первой командой&nbsp;&nbsp;

<input name="zabmjach" type="text" />

</label>

</p>

<p>

<label>Введите количество мячей, забитых второй командой&nbsp;&nbsp;

<input name="propmjach" type="text" />

</label>

</p>

<p>

<label>Введите город, где проводился матч &nbsp;&nbsp;

<input name="gorod" type="text" id="date" />

</label>

</p>

<p>

<label>Выберите судей матча&nbsp;<br />

<?php

$result = mysql_query("SELECT * FROM Sudja", $db);

$myrow = mysql_fetch_array($result);

do {

printf("<input type='checkbox' name='Check[]' value='%s' /> %s %s %s

</label><br>",$myrow['idSud'],$myrow['FSud'],$myrow['Isud'],$myrow['OSud']);

}

while($myrow = mysql_fetch_array($result));

?>

</p>

<p>

<label>

<input type="submit" name="Submit" id="submit" value="Занести данные в базу" />

</label>

</p>

</form>

</td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>

</html>

add_match.php

<?php

include("blocks/bd.php");

if(isset($_POST['idChemp'])) {$idChemp = $_POST['idChemp']; if($idChemp == '') {unset($idChemp);}}

if(isset($_POST['Doma'])) {$Doma = $_POST['Doma']; if($Doma == '') {unset($Doma);}}

if(isset($_POST['Gost'])) {$Gost = $_POST['Gost']; if($Gost == '') {unset($Gost);}}

if(isset($_POST['datematch'])) {$DateMatch = $_POST['datematch']; if($DateMatch == '') {unset($DateMatch);}}

if(isset($_POST['zabmjach'])) {$ZabMjach= $_POST['zabmjach'];if($ZabMjach == '') {unset($ZabMjach);}}

if(isset($_POST['propmjach'])) {$PropMjach = $_POST['propmjach']; if($PropMjach == '') {unset($PropMjach);}}

if(isset($_POST['gorod'])) {$CityMatch = $_POST['gorod']; if($CityMatch == '') {unset($CityMatch);}}

?>

<!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=windows-1251" />

<title>Добавление данных в базу</title>

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

</head>

<body>

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<!--Шапка сайта-->

<? include("blocks/header.php");?>

<tr>

<td><table width="900" border="0" cellspacing="0" cellpadding="0">

<tr>

<!--Левый блок-->

<?php include("blocks/left.php");?>

<td width="737" valign="top" class="view">

<?php

if(isset($idChemp) && isset($Doma) && isset($Gost) && isset($DateMatch) && isset($ZabMjach) && isset($PropMjach) && isset($CityMatch) &&isset($_POST['Check']))

{

if($Doma == $Gost)

echo "<p>Команда не может играть сама с собой. Выберите другую комамнду.</p>";

else

{

$prov = mysql_query("SELECT Matches.idMatch

FROM Matches, MatchRezult

WHERE Matches.idMatch=MatchRezult.idMatch and idChemp='$idChemp' and Doma='$Doma' and Gost = '$Gost'");

$row=mysql_fetch_array($prov);

if(isset($row[0]))

echo "В рамках данного чемпионат этот матч уже состоялся. Возможно вы ошиблись при вводе данных.";

else

{

$result = mysql_query("INSERT INTO Matches (idChemp, DateMatch, CityMatch)

VALUES('$idChemp','$DateMatch','$CityMatch')");

if($result == 'true')

{

$sel = mysql_query("SELECT idMatch FROM Matches ORDER BY idMatch desc limit 1");

$row = mysql_fetch_array($sel);

$idMatch=$row['idMatch'];

$result2 = mysql_query("INSERT INTO MatchRezult (idMatch, Doma, Gost, ZabMjach, PropMjach)

VALUES('$idMatch','$Doma','$Gost', '$ZabMjach','$PropMjach')");

if($result2 == 'true')

{

$my_check = $_POST['Check'];

$len = sizeof($my_check);

for($i=0; $i<$len; $i++)

{

$result3 = mysql_query("INSERT INTO SudjiInMatch (idMatch, idSud)

VALUES('$idMatch','$my_check[$i]')");

}

if ($result3 == 'true')

{

$sel = mysql_query("SELECT idCom FROM CommandInChemp WHERE idCom='Doma'");

$row = mysql_fetch_array($sel);

if(!isset($row[0]))

{

$result4 =

mysql_query("INSERT INTO CommandInChemp (idChemp, idCom)

VALUES('$idChemp','$Doma')");

}

if ($result4 == 'true')

{

$sel = mysql_query("SELECT idCom FROM CommandInChemp WHERE idCom='Gost'");

$row = mysql_fetch_array($sel);

if(!isset($row[0]))

{

$result5 = mysql_query("INSERT INTO CommandInChemp (idChemp, idCom)

VALUES('$idChemp','$Gost')");

}

if($result5 != 'true')

echo "<p>Ошибка. Данные в базу не занесены!</p>";

}

echo "<p>Данные успешно занесены в базу!</p>";

}

}

}

else

echo "<p>Ошибка. Данные в базу не занесены!</p>";

}

}

}

else

{

echo "<p>Вы ввели не всю информацию, поэтому данные не могут быть добавлены в базу.</p>";

}

?>

</td>

</tr>

</table></td>

</tr>

<!--Нижний блок-->

<?php include("blocks/footer.php");?>

</table>

</body>