} $athletes = getNofResults(CFG_CURRENT_EVENT, 0, $maxRang); $currentAthleteID = getCurrentAthlete($athletes); if ($currentAthleteID > 0) { $currentAttempt = getNofResults(CFG_CURRENT_EVENT, $currentAthleteID, 0, false) + 1; $currentAthleteData = getAthleteDetails($currentAthleteID, false, 'ath_pos', '0', true); $NextAthleteID = getNextAthlete($athletes, $athletes[$currentAthleteID]['Position']); if ($NextAthleteID == 0) { $last = true; $NextAthleteID == getFirstAthlete($athletes); } else { $last = false; } $NextAthleteData = getAthleteDetails($NextAthleteID, false, 'ath_pos', '0', true); } $settings = getTechSettings(CFG_CURRENT_EVENT); ?> <input type="hidden" name="round" id="round" value="<?php echo $events['xRunde']; ?> "> <input type="hidden" name="event" id="event" value="<?php echo $events['xWettkampf']; ?> "> <input type="hidden" name="wind" id="wind" value="<?php echo $events['event_wind']; ?> "> <?php
function rankAthletes($event) { global $glb_connection, $glb_connection_server; global $cfgEvalType, $strEvalTypeHeat; try { $settings = getTechSettings($event); $eval = getEvaluationType($event); if ($eval == $cfgEvalType[$strEvalTypeHeat]) { // eval per heat $sql_athletes = "\r\n SELECT\r\n *\r\n FROM\r\n tempresult\r\n ORDER BY\r\n xSerie"; for ($i = 1; $i <= $settings['round_attempts']; $i++) { $sql_athletes = $sql_athletes . ", Res" . $i . " DESC"; } } else { //rank results from all heats together $sql_athletes = "\r\n SELECT\r\n *\r\n FROM\r\n tempresult\r\n ORDER BY "; $comma = ""; // order by available result columns for ($i = 1; $i <= $settings['round_attempts']; $i++) { $sql_athletes = $sql_athletes . $comma . "Res" . $i . " DESC"; $comma = ", "; } } $query_athletes = $glb_connection->prepare($sql_athletes); $query_athletes->execute(); $athletes = $query_athletes->fetchAll(PDO::FETCH_ASSOC); $heat = 0; $perf_old[] = ''; $j = 1; $rank = 0; // set rank for every athlete foreach ($athletes as $athlete) { if ($eval == $cfgEvalType[$strEvalTypeHeat] && $heat != $athlete['xSerie']) { // new heat $j = 1; // restart ranking $perf_old[] = ''; } for ($i = 1; $i <= $settings['round_attempts']; $i++) { $perf[$i] = $athlete['Res' . $i]; } if ($athlete['skip'] == 0 && $athlete['Res1'] != 0) { //check if DNS or DSQ if ($perf_old != $perf) { // check if same performance $rank = $j; } $rank_db = $rank; $j++; // increment ranking } else { $rank_db = 0; } $sql_update = "UPDATE serienstart SET\r\n Rang = {$rank_db}\r\n WHERE xSerienstart = :serienstart;"; $query_update = $glb_connection_server->prepare($sql_update); $query_update->bindValue(':serienstart', $athlete['xSerienstart']); $query_update->execute(); $heat = $athlete['xSerie']; // keep current heat ID $perf_old = $perf; } } catch (PDOException $e) { trigger_error($e->getMessage()); } }