View file tennis/komanda/chm/archive.php

File size: 6.94Kb
<?php
/** Author: ArseN
/*	icq: 799956
/*	email: [email protected]
/*	site: http://softmob.ru
*/
header("Content-type: text/html; charset=UTF-8");
include "config.php";
$month = array(
	"Январь",
	"Февраль",
	"Март",
	"Апрель",
	"Май",
	"Июнь",
	"Июль",
	"Август",
	"Сентябрь",
	"Октябрь",
	"Ноябрь",
	"Декабрь"
);
// проверка date на достоверность
if (!empty($_GET['date'])){
	$date = $_GET['date'];
	(int) $arrDate = explode("-",$date);
	if ($arrDate[0]>12 || $arrDate[0]<=0 || $arrDate[1]>2030 || $arrDate[1]<=2005) unset($arrDate);
}
// выборка сомой первой даты для точки отсчета cPoint
$result = mysql_query("SELECT min(`date`) FROM `all_tour_result`;");
$row = mysql_fetch_row($result);
$min_date = $row[0];
// максимальный id
$result = mysql_query("SELECT max(`id`) FROM `all_tour_result`;");
$row = mysql_fetch_row($result);
$max_id = $row[0];
// номер месяца и года cPoint
$num_month = (int) date("m",$min_date);
$num_year = (int) date("Y",$min_date);

echo "<html><head>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheet.css\" />\n";
echo "<title>Архив игр</title></head>";
echo "<body>";
echo "<div class=\"header\"><img src=\"img/ball.gif\" alt=\"Enter\" />Архив игр</div>";

$action = '';
if (!empty($_GET['act']))
	$action = $_GET['act'];
switch ($action)
{
	case 'view':// ПРОСМОТР ВЫБРАННОГО ТУРНИРА
	if (!empty($_GET['id']))
		$id_tour = $_GET['id'];
	else exit;
	
	// страница
	if(empty($_GET['p'])) $p = 1;
		else $p = (int)$_GET['p'];
			
	if (!empty($arrDate))
	{
		$result_tour = mysql_query("
			SELECT tournament.name as `name`, count(all_tour_result.id_tour) as `count`
			FROM `tournament`
			INNER JOIN all_tour_result
			ON all_tour_result.id_tour = tournament.id_tour
			WHERE all_tour_result.id_tour = $id_tour
			GROUP BY tournament.name
		");
		$row_tour = mysql_fetch_array($result_tour);
		$tour_name = $row_tour['name'];
		$count_all = $row_tour['count'];
		
		// размер всего текста и максим страница
		$max_page = ceil($count_all/$count_on_page);

		// проверка правильности страницы
		if ($p > $max_page) $p = $max_page;
		if ($p <= 0) $p = 1;
		
		// начало вывода
		$start = ($p-1)*$count_on_page;
			
		$result_tour = mysql_query("
			SELECT all_tour_result.*, users.name
			FROM all_tour_result
			INNER JOIN users
			ON users.id_user = all_tour_result.id_user
			WHERE all_tour_result.id_tour=$id_tour
			ORDER BY all_tour_result.points DESC
			LIMIT $start, $count_on_page;
		");
		$count_rows = mysql_num_rows($result_tour);
		
		echo "Турнир: $tour_name <br/><br/>\n";
		for ($i=0; $i<$count_rows; $i++)
		{
			$row_tour = mysql_fetch_array($result_tour);
			
			echo "<div class=\"header\">".($i+1)." МЕСТО </div>\n";
			echo "Имя игрока: ".$row_tour['name']."<br/>\n";
			echo "Набранно очков: ".$row_tour['points']."<br/>\n";
			echo "Сборка клубов: <br/>\n";
			
			$clubs = explode(';', $row_tour['id_clubs']);
			foreach ($clubs as $num => $id_club)
			{
				$result_club = mysql_query("SELECT * FROM `clubs` WHERE `id_club`=$id_club");
				$row_club = mysql_fetch_array($result_club);
				
				echo ($num+1).". ".$row_club['club_name']."<br/>\n";
			}
			echo "<hr/>";
		}
		// навигатор страниц
			$next_p = $p + 1;
			$prev_p = $p -1;

			if ($prev_p > 0)
				echo "<a href=\"archive.php?act=view&id=$id_tour&date=$date&p=$prev_p\">Пред.</a>";
			else
				echo "Пред.";
				
			echo " | ";
				
			if ($next_p <= $max_page)
				echo "<a href=\"archive.php?act=view&id=$id_tour&date=$date&p=$next_p\">След.</a>\n";
			else
				echo "След.";
				
			echo "<br/> \n";
			// форма перехода на произвольную страницу
			$max_len_digits = strlen($max_page);
			echo "<form action=\"archive.php\" method=\"get\"> \n";
				echo "<input type=\"hidden\" name=\"act\" value=\"view\" /> \n";
				echo "<input type=\"hidden\" name=\"id\" value=\"$id_tour\" /> \n";
				echo "<input type=\"hidden\" name=\"date\" value=\"$date\" /> \n";
				echo "Страница: <input class=\"itext\" type=\"text\" name=\"p\" size=\"$max_len_digits\" maxlength=\"$max_len_digits\" format=\"".str_repeat("N",$max_len_digits)."\" emptyok=\"true\" /> \n";
				echo "<input class=\"ibutton\" type=\"submit\" value=\"Смотреть\" />\n";
			echo "</form> \n";
			echo "<a href=\"archive.php?date=$date\">В архив</a>\n";
	}
		break;
	default:// ВЫВОД ДЕРЕВА АРХИВА
	$archiveM = array();
	$archiveY = array();
	// выясняем за кокие месяцы (года) есть новости в базе
	// заносим соответственно их в $archiveM ($archiveY)
	$notEnd = true;
	// формирование архива в массивы archiveM и archiveY
	if ($max_id)
	{
		while ($notEnd)
		{
			$cPoint = mktime(0,0,0,$num_month,1,$num_year);
			$cPointNext = mktime(0,0,0,$num_month+1,1,$num_year);
			$result = mysql_query("SELECT max(`id`) FROM `all_tour_result` WHERE `date`>=$cPoint AND `date`<$cPointNext;");
			$row = mysql_fetch_row($result);
			if (!empty($row[0]))
			{
				$id = $row[0];
				if ($id == $max_id) $notEnd = false;
				$indexMonth = (int) date("m",mktime(0,0,0,$num_month,1,$num_year));
				$year = date("Y",$cPoint);
				$archiveM[] = $indexMonth;
				$archiveY[] = $year;
			}
			$num_month++;
		}
	}
	else
		echo "(архив пуст) <br/>\n";
	// вывод архива
	echo "<a href=\"archive.php\">Свернуть все</a> <br/>\n";
	for ($index=count($archiveM)-1; $index>=0; $index--)
	{
		$indexMonth = $archiveM[$index];
		$textMonth = $month[$indexMonth-1];
		$year = $archiveY[$index];
		echo "<a href=\"archive.php?date=$indexMonth-$year\">$textMonth $year</a>\n";
		echo "<br>\n";
		
		// если выбран архив то выводим ссылки игр
		if (!empty($arrDate))
		{
			if ($arrDate[0]==$indexMonth && $arrDate[1]==$year)
			{
				$cPoint = mktime(0,0,0,$arrDate[0],1,$arrDate[1]);
				$cPointNext = mktime(0,0,0,$arrDate[0]+1,1,$arrDate[1]);
				
				$result = mysql_query("SELECT DISTINCT `id_tour` FROM `all_tour_result` WHERE `date`>=$cPoint AND `date`<$cPointNext ORDER BY `id` DESC;");
				$countRows = mysql_num_rows($result);

				for ($i=0; $i<$countRows; $i++)
				{
					$row = mysql_fetch_array($result);
					$result_tour = mysql_query("SELECT * FROM `tournament` WHERE `id_tour`=".$row['id_tour']);
					$row_tour = mysql_fetch_array($result_tour);
					
					echo " - <a href=\"archive.php?act=view&date=$indexMonth-$year&id=".$row['id_tour']."\">".$row_tour['name']."</a> <br/>\n";
				}
			}
		}
	}
}
echo "</body></html>";
?>