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

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

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

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

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

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






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


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


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



Выполнил

Проверил









Чебоксары – 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 диаграмм)


idPlayer

Players

idMatch

Matches

idChemp

Chempionats

IdTren

Treners

idSud

Sudja

idCom

Command

играть

проводиться

тренировать

играть

играть

судить



Нормализуем каждую связь используя соответствующие правила нормализации 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 Словесное описание

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

Списки

  • Команды
  • Игроки
  • Судьи
  • Тренеры
  • Чемпионаты
  • Страницы «Команды» (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) производит подсчет очков, количества игр, разницы между забитыми и пропущенными мячами, количества поражений, побед и ничьих команд в соответствующем чемпионате:

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

    %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'];


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

    ");

    $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<$c;$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<$zapis;$mas++)

    $row2 = mysql_fetch_array($res2);

    }

    $c++;

    }

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

    }

    }//else

    }

    while($c<$i);

    $k++;

    printf(" ");

    }

    ?>


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


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

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

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

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

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

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

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


    4.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(для корректного ввода текстовой информации) и изучить следующее:

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


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


    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

    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);

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

    }

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

    }

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

    printf("");

    ?>


    Хозяева

    Счет

    Гости

    Дата

    Город

    $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");/* Соединяемс с БД */

    ?>

    Команды



    $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"],

    $myrow["NameCom"],

    $myrow["Gorod"]);

    $i++;

    }

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

    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']);

    ?>

    :

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

    }

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

    printf("");

    ?>


     

    Всего

    Дома

    В гостях



    М

    Команда

    И

    Мячи

    О

     

    В

    Н

    П

    З - П

     

    В

    Н

    П

    З - П

     

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

    %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);


    do {

    $s='';

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

    $s=" selected='selected'";

    printf("

    }

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

    ");

    $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<$c;$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<$zapis;$mas++)

    $row2 =

    mysql_fetch_array($res2);

    }

    $c++;

    }

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

    }

    }//else

    }

    while($c<$i);

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

    }

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


    printf("");

    ?>


    printf(" ");

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

    $myrow = mysql_fetch_array($result);

    do {

    printf("

    }

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

    printf("");

    ?>

    printf(" ");

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

    $myrow = mysql_fetch_array($result);

    do {

    printf("

    }

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

    printf("");

    ?>

           

    label>

    p>

    <p>

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

    label>

    p>

    <p>

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

    label>

    p>

    <p>

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

    $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);}}

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

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

    ?>

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


    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>";

    }

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

    }

    }

    }

    else

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

    }

    }

    }

    else

    {

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

    }



    ?>

Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

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

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ