science-ation/admin/judges.inc.php
james 44a79493aa Get age category preference from judges as they register
Create scheduler configuration page to handle setup parameters for the automatic judge team assignments
Create the annealer to handle the actual assignments of judges to judging teams based on the lowest cost function of each individual team.  Currently takes into account: a) age category preference, b) divisional areas of expertise.  still requires: years of experience, language preference, and 'team captain' scheduling.
2006-01-03 02:08:23 +00:00

182 lines
3.5 KiB
PHP

<?
function getJudgingTeams()
{
global $config;
$q=mysql_query("SELECT judges_teams.id,
judges_teams.num,
judges_teams.name
FROM
judges_teams
WHERE
judges_teams.year='".$config['FAIRYEAR']."'
ORDER BY
num,name
");
$lastteamid=-1;
$lastteamnum=-1;
echo mysql_error();
$teams=array();
while($r=mysql_fetch_object($q))
{
$teams[$r->id]['id']=$r->id;
$teams[$r->id]['num']=$r->num;
$teams[$r->id]['name']=$r->name;
$lastteamid=$r->id;
$lastteamnum=$r->num;
//get the members for this team
$mq=mysql_query("SELECT
judges.id AS judges_id,
judges.firstname,
judges.lastname,
judges_teams_link.captain
FROM
judges,
judges_teams_link
WHERE
judges_teams_link.judges_id=judges.id AND
judges_teams_link.judges_teams_id='$r->id'
ORDER BY
captain DESC,
lastname,
firstname");
echo mysql_error();
while($mr=mysql_fetch_object($mq))
{
$teams[$lastteamid]['members'][]=array(
"id"=>$mr->judges_id,
"firstname"=>$mr->firstname,
"lastname"=>$mr->lastname,
"captain"=>$mr->captain
);
}
//get the awards for this team
$aq=mysql_query("SELECT award_awards.id,
award_awards.name,
award_awards.award_types_id,
award_types.type AS award_type
FROM
award_awards,
judges_teams_awards_link,
award_types
WHERE
judges_teams_awards_link.award_awards_id=award_awards.id
AND judges_teams_awards_link.judges_teams_id='$r->id'
AND award_awards.award_types_id=award_types.id
AND award_types.year='{$config['FAIRYEAR']}'
ORDER BY
name
");
while($ar=mysql_fetch_object($aq))
{
$teams[$r->id]['awards'][]=array(
"id"=>$ar->id,
"name"=>$ar->name,
"award_types_id"=>$ar->award_types_id,
"award_type"=>$ar->award_type
);
}
}
return $teams;
}
function getJudgingTeam($teamid)
{
global $config;
$q=mysql_query("SELECT judges_teams.id,
judges_teams.num,
judges_teams.name
FROM
judges_teams
WHERE
judges_teams.year='".$config['FAIRYEAR']."' AND
judges_teams.id='$teamid'
ORDER BY
num,
name
");
$team=array();
$first=true;
while($r=mysql_fetch_object($q))
{
$team['id']=$r->id;
$team['num']=$r->num;
$team['name']=$r->name;
//get the members for this team
$mq=mysql_query("SELECT
judges.id AS judges_id,
judges.firstname,
judges.lastname,
judges_teams_link.captain
FROM
judges,
judges_teams_link
WHERE
judges_teams_link.judges_id=judges.id AND
judges_teams_link.judges_teams_id='$r->id'
ORDER BY
captain DESC,
lastname,
firstname");
echo mysql_error();
while($mr=mysql_fetch_object($mq))
{
$team['members'][]=array(
"id"=>$mr->judges_id,
"firstname"=>$mr->firstname,
"lastname"=>$mr->lastname,
"captain"=>$mr->captain
);
}
//get the awards for this team
$aq=mysql_query("SELECT award_awards.id,
award_awards.name,
award_awards.award_types_id,
award_types.type AS award_type
FROM
award_awards,
judges_teams_awards_link,
award_types
WHERE
judges_teams_awards_link.award_awards_id=award_awards.id
AND judges_teams_awards_link.judges_teams_id='$r->id'
AND award_awards.award_types_id=award_types.id
AND award_types.year='{$config['FAIRYEAR']}'
ORDER BY
name
");
while($ar=mysql_fetch_object($aq))
{
$team['awards'][]=array(
"id"=>$ar->id,
"name"=>$ar->name,
"award_types_id"=>$ar->award_types_id,
"award_type"=>$ar->award_type
);
}
}
return $team;
}
?>