Смекни!
smekni.com

Программа Футбольный болельщик (стр. 2 из 5)

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. Сопровождение. Руководство пользователя