Реферат по предмету "Информатика"


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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение высшего профессионального образования
«Чувашский государственный университет им. И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра «Информационно-вычислительных систем»
Дисциплина «Базы данных»
Пояснительная записка к курсовой работе
Тема: «Футбольный болельщик»
Выполнил
Проверил
Чебоксары – 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 Перечень и описание функций приложения обработки базы данных
Система должна хранить справочную информацию по игрокам, тренерам, командам, судьям, чемпионатам.
Система должна регистрировать и хранить информацию о матчах: чемпионат; какая команда играла в гостях, а какая дома; количество забитых и пропущенных голов команды, которая играет дома; дату матча.
Система должна выводить турнирную таблицу, в которой хранится информация о количестве игр, количестве забитых и пропущенных мячей, количество побед, проигрышей и ничьих, количество очков.
Система должна выводить таблицу результатов(сетку).
Система должна осуществлять поиск матчей.
2.3 Перечень и описание сущностей базы данных
Игроки. Каждый игрок имеет уникальный номер, ФИО, биографические сведения и амплуа.
Команды. За каждой командой закреплен соответствующий код, название, состав и краткие исторические сведения.
Тренеры. Каждый тренер имеет уникальный номер, ФИО, биографические сведения.
Судьи. Каждый судья имеет уникальный номер, ФИО, биографические сведения. Чемпионаты. Хранится уникальный номер чемпионата, название и год проведения.
Матчи. Хранится информация о чемпионате, в рамках которого проводился матч, дата матча, команда, которая играла дома, команда, которая играла в гостях, количество забитых и пропущенных первой командой мячей.
2.4 Перечень и описание всех атрибутов базы данных
1
idChemp
Номер чемпионата
2
NameChemp
Название чемпионата
3
Year
Год проведения чемпионата
4
idCom
Номер команды
5
NameCom
Название команды
6
AdressCom
Адрес команды
7
Gorod
Город команды
8
History
Краткие исторические сведения о команде
9
DateSozd
Год основания команды
10
IdMatch
Уникальный код матча--PAGE_BREAK--
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)    продолжение
--PAGE_BREAK--
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     продолжение
--PAGE_BREAK--
4. Программная часть. Руководство программиста
4.1 Назначение и условия применения программы
Программа предназначена для хранения и вывода данных о командах, игроках, судьях, тренерах, чемпионатах и матчах. Также она генерирует таблицу результатов и турнирную таблицу на основании данных о матче.
4.2 Характеристика программы
Программа обладает стандартными временными характеристиками и стандартным режимом работы.
4.3 Обращение к программе
Для обращения к программе есть кнопки и выпадающие списки, а так же гиперссылки для удобства перемещения по сайту.
4.4 Входные и выходные данные
4.4.1 Словесное описание
Страницы содержат ряд ссылок по которым осуществляется переход на другие страницы
Списки

Команды
Игроки
Судьи
Тренеры
Чемпионаты
Страницы«Команды» (command.php), «Игроки» (player.php), «Судьи» (sudja.php), «Тренеры» (treners.php), «Чемпионаты» (chempionats.php), «Матчи» (match.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( "
%s
%s:%s
%s
%s
%s
",$row2[0], $myrow[«idMatch»],$myrow[«ZabMjach»],$myrow[«PropMjach»], $row3[0], $myrow[«DateMatch»],$myrow[«CityMatch»]);
}
?>
Страница «Таблица »(table.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
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     продолжение
--PAGE_BREAK--
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
THEN '3'
WHEN PropMjach-ZabMjach=0
THEN '1'
ELSE '0'
END ochki, 0,0,0,
CASE
WHEN PropMjach-ZabMjach
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("
%s.  
  %s(%s)
 %s
 %s
 %s
 
 %s
 %s
 %s
 %s — %s
 
 %s
 %s
 %s
 %s — %s
 
",$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) генерирует турнирную сетку в соответствии с результатами матчей:

$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("
 
  команда");
while ($myrow = mysql_fetch_array($result))
{
printf(" %s", $i);
$comarray[$i]=$myrow['ID'];    продолжение
--PAGE_BREAK--
$i++;
}
printf(" ");
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
{
$c=1;
$zapis=1;
printf("
 %s



 %s


 %s


",$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
$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
$row3 = mysql_fetch_array($res3);
}
$c++;
}
while($c
}//else
}
while($c
$c=1;
$zapis=1;
do {
if($k==$c)
{
printf(“

»);
$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     продолжение
--PAGE_BREAK--
NameChemp='ЧемпионатРоссии' and
Chempionats.idChemp=Matches.idChemp".$wyear.«ORDER BY Gost „);
$row2 = mysql_fetch_array($res2);
$gost = $row2['Gost'];
if($gost == '')
{
printf(“



 


 %s


»,$gostarray[$k][$c]);
$c++;
}
else
{
do {
$gost = $row2['Gost'];
if ($comarray[$c]==$gost)
{
printf("



 %s:%s


 %s


",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);
$zapis++;
}
else
if($k==$c)
{
printf("

");
$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
$row2 = mysql_fetch_array($res2);
}
else
{
printf(“



 


 %s


»,$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
$row2 = mysql_fetch_array($res2);
}
$c++;
}
while($c
}
}//else
}
while($c
$k++;
printf(“ »);
}    продолжение
--PAGE_BREAK--
?>
Также в приложении присутствует администраторская часть, предназначенная для добавления редактирования и удаления данных. Входными данными являются данные, введенные пользователем в соответствующие поля.
4.4.2 Описание функций
mysql_connect() – подключение к MySQL;
include("bd.php") – подключение к файлу;
printf() – вывод информации на экран;
mysql_query () – возвращение результата запроса;
mysql_fetch_array () – получение результата запроса;
echo – вывод информации;
4.5 Сообщения
Сообщения выводятся только в администраторской части программы. При неверных действиях пользователей недопустимых значениях входных данных, система выдает пользователю соответствующие сообщения. При успешном завершении действия пользователь тоже получает сообщения об успешном завершении.
5. Сопровождение. Руководство пользователя
Область применения программы
Программа предназначена для хранения информации о футбольных матчах, подсчета данных о командах в турнире, генерации турнирной сетки.
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(для корректного ввода текстовой информации) и изучить следующее:
— Настоящее «Руководство пользователя».
Список использованной литературы
Евгений Попов. PHP и Mysql для начинающих. Видео уроки. 2007.
Т.Карпова. Базы данных. Модели, разработка, реализация. «Питер», Санкт-Птербург, 2002.
Алексей Гончаров. Самоучитель HTML.
www.softtime.ru
7. Приложение 1
Исходный текст приложения
bd.php

$db = mysql_connect(«localhost»,«root»,"");
mysql_select_db («football»,$db);
?>
left.php

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



Главная

$result = mysql_query(«SELECT Year FROM Chempionats ORDER BY Year desc»);
$myrow = mysql_fetch_array($result);
printf("Матчи ",$myrow[0]);
?>

$result = mysql_query(«SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc»);
$myrow = mysql_fetch_array($result);
printf("Результат ",$myrow[0]);
?>

$result = mysql_query(«SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc»);
$myrow = mysql_fetch_array($result);     продолжение
--PAGE_BREAK--
printf("Таблица ",$myrow[0]);
?>

Списки

Команды
Игроки
Судьи
Тренеры
Чемпионаты



match.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='';}
?>




Матчи















printf("Чемпионат
Все чемпионаты");
$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("%s",$myrow['NameChemp'],$myrow['NameChemp']);
}
while($myrow = mysql_fetch_array($result));
printf("");
printf("Год ");
$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("%s",$myrow['Year'],$myrow['Year']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>




Хозяева    продолжение
--PAGE_BREAK--
Счет
Гости
Дата
Город


$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( "
%s
%s:%s
%s
%s
%s
",$row2[0], $myrow[«idMatch»],$myrow[«ZabMjach»],$myrow[«PropMjach»], $row3[0], $myrow[«DateMatch»],$myrow[«CityMatch»]);
}
?>

 








command.php

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




Команды



стиль1 {font-family: Geneva, Arial, Helvetica, sans-serif}
стиль2 {color: #000000}
-->















$result = mysql_query(«SELECT idCom, NameCom, Gorod, mini_img FROM Command», $db);
$myrow = mysql_fetch_array($result);
do {
$i=0;
printf( "");
do {
printf("
%s (%s)",
$myrow[«idCom»],
$myrow[«mini_img»],
$myrow[«idCom»],    продолжение
--PAGE_BREAK--
$myrow[«NameCom»],
$myrow[«Gorod»]);
$i++;
}
while ($i
printf( "");
}
while ($myrow = mysql_fetch_array($result));
?>










View_match.php

include(«blocks/bd.php»);/* Соединяемся с БД */
$idMatch=$_GET['id'];
?>




Матч









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




$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("

 %s %s


  Место проведения матча: %s

", $myrow['NameChemp'], $myrow['Year'], $myrow['CityMatch']);
?>






$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("", $row2['mini_img']);
?>



:
    продолжение
--PAGE_BREAK--



printf("",$row3['mini_img']);
?>










Судьи:

$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)",$myrow['FSud'],$myrow['Isud'],$myrow['OSud'], $myrow['Gorod']);
}
?>












table.php

include(«blocks/bd.php»);/* Соединяемся с БД */
if(isset($_GET['year']))
{$year = $_GET['year'];
$wyear=" and Year='$year'";}
else {$wyear='';}
?>




Таблица















printf("Год ");
$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("%s",$myrow['Year'],$myrow['Year']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>

    продолжение
--PAGE_BREAK--


 
Всего
Дома
В гостях




М
Команда
И
Мячи
О
 
В
Н
П
З — П
 
В
Н
П
З — П
 


$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
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
THEN '3'
WHEN PropMjach-ZabMjach=0
THEN '1'
ELSE '0'
END ochki, 0,0,0,
CASE
WHEN PropMjach-ZabMjach
THEN '1'
ELSE '0'
END vgost,
CASE
WHEN PropMjach-ZabMjach=0
THEN '1'
ELSE '0'
END ngost,
CASE
WHEN PropMjach-ZabMjach>0    продолжение
--PAGE_BREAK--
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("
%s.  
  %s(%s)
 %s
 %s
 %s
 
 %s
 %s
 %s
 %s — %s
 
 %s
 %s
 %s
 %s — %s
 
",$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++;
}
?>

 








Result.php

include(«blocks/bd.php»);/* Соединяемся с БД */
if(isset($_GET['year']))
{$year = $_GET['year'];
$wyear=" and Year='$year'";}
else {$wyear='';}
?>




Таблица















printf("Год ");
$result = mysql_query(«SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' GROUP BY Year ORDER BY Year desc», $db);
$myrow = mysql_fetch_array($result);    продолжение
--PAGE_BREAK--
do {
$s='';
if($_GET['year'] == $myrow['Year'])
$s=" selected='selected'";
printf("%s",$myrow['Year'],$myrow['Year']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>




$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("
 
   команда");
while ($myrow = mysql_fetch_array($result))
{
printf("
class='tablerrez'> %s", $i);
$comarray[$i]=$myrow['ID'];
$i++;
}
printf(" ");
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
{
$c=1;
$zapis=1;
printf("
 %s



 %s


 %s


",$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
$row3 = mysql_fetch_array($res3);
}
else
{
$res3 = mysql_query(“SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats     продолжение
--PAGE_BREAK--
WHERE Gost='$vgost' and
Matches.idMatch=MatchRezult.idMatch and
NameChemp='Чемпионат России' and
Chempionats.idChemp=Matches.idChemp".$wyear.«ORDER BY Doma „);
for($mas=1;$mas
$row3 = mysql_fetch_array($res3);
}
$c++;
}
while($c
}//else
}
while($c
$c=1;
$zapis=1;
do {
if($k==$c)
{
printf(“

»);
$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(“



 


 %s


»,$gostarray[$k][$c]);
$c++;
}
else
{
do {
$gost = $row2['Gost'];
if ($comarray[$c]==$gost)
{
printf("



 %s:%s


 %s


",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);
$zapis++;
}
else
if($k==$c)
{
printf("

");
$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
$row2 = mysql_fetch_array($res2);
}
else
{
printf(“


    продолжение
--PAGE_BREAK--
 


 %s


",$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
$row2 =
mysql_fetch_array($res2);
}
$c++;
}
while($c
}
}//else
}
while($c
$k++;
printf(“ »);
}
?>





-дома

-в гостях









New_match.php

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




Добавление














Выберите чемпионат   

printf(" ");
$result = mysql_query(«SELECT idChemp, NameChemp, Year FROM Chempionats», $db);
$myrow = mysql_fetch_array($result);
do {
printf("%s %s",$myrow['idChemp'],$myrow['NameChemp'],$myrow['Year']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>


Выберите команду, которая играла дома       продолжение
--PAGE_BREAK--

printf(" ");
$result = mysql_query(«SELECT idCom, NameCom FROM Command», $db);
$myrow = mysql_fetch_array($result);
do {
printf("%s",$myrow['idCom'],$myrow['NameCom']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>


Выберите команду, которая играла в гостях   

printf(" ");
$result = mysql_query(«SELECT idCom, NameCom FROM Command», $db);
$myrow = mysql_fetch_array($result);
do {
printf("%s",$myrow['idCom'],$myrow['NameCom']);
}
while($myrow = mysql_fetch_array($result));
printf("");
?>


Введитедату матча
       




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




Введите количество мячей, забитых второй командой




Введите город, где проводился матч




Выберите судей матча 

$result = mysql_query(«SELECT * FROM Sudja», $db);
$myrow = mysql_fetch_array($result);
do {
printf(" %s %s %s
",$myrow['idSud'],$myrow['FSud'],$myrow['Isud'],$myrow['OSud']);
}
while($myrow = mysql_fetch_array($result));
?>
















add_match.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);}}    продолжение
--PAGE_BREAK--
if(isset($_POST['propmjach'])) {$PropMjach = $_POST['propmjach']; if($PropMjach == '') {unset($PropMjach);}}
if(isset($_POST['gorod'])) {$CityMatch = $_POST['gorod']; if($CityMatch == '') {unset($CityMatch);}}
?>




Добавление данных в базу













if(isset($idChemp) && isset($Doma) && isset($Gost) && isset($DateMatch) && isset($ZabMjach) && isset($PropMjach) && isset($CityMatch) &&isset($_POST['Check']))
{
if($Doma == $Gost)
echo "Команда не может играть сама с собой. Выберите другую комамнду.";
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
{
$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 "Ошибка. Данные в базу не занесены!";
}
echo "Данные успешно занесены в базу!";
}
}
}
else
echo "Ошибка. Данные в базу не занесены!";
}
}
}
else
{
echo "Вы ввели не всю информацию, поэтому данные не могут быть добавлены в базу.";
}
?>


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.