Example #1
0
    }
    $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 
Example #2
0
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());
    }
}