info("Clicked showUserRank");
printLastUpdate();
printDescription();
printUserScores();
function printDescription(){
echo "Punktestand
";
}
function printLastUpdate(){
echo "
";
include_once("../util/dbutil.php5");
$tablematches=dbschema::matches;
$sql="SELECT * FROM $tablematches WHERE evaluationDone='T' ORDER BY matchnr DESC";
$result=mysql_query($sql)
or die(": " . mysql_error());
$row = mysql_fetch_array($result);
$date = $row['matchdate'];
$lastUpdatedMatch = $row['matchnr'];
if(!empty($lastUpdatedMatch)){
$arrayRealResult = getRealResult($lastUpdatedMatch);
$team1=$dbutil->getTeamName($arrayRealResult['teamX']);
$team2=$dbutil->getTeamName($arrayRealResult['teamY']);
echo "Stand nach Auswertung von Spiel $lastUpdatedMatch ($date) $team1 - $team2";
echo "
";
}
$sqlResult = getEvaluatedGroups();
$rowcnt = mysql_num_rows($sqlResult);
if($rowcnt>0){
echo "Berücksichtigt sind auch Punkte für Tabellenplätze der Gruppen ";
while($array=mysql_fetch_array($sqlResult))
{
$group=$array["group"];
echo $group . " ";
}
echo "";
$sqlResult = getEnteredFinals();
$rowcnt = mysql_num_rows($sqlResult);
if($rowcnt>0){
echo "
";
echo "und die Punkte für Teilnahme an den Finalspielen ";
while($array=mysql_fetch_array($sqlResult))
{
$finalmatchnr=$array["matchnr"];
echo $finalmatchnr . " ";
}
echo "";
}
echo "
";
}
echo "
";
}
function getRealResult($matchnr) {
$table_matches=dbschema::matches;
$sql="SELECT matchtype from $table_matches WHERE matchnr=$matchnr";
$result=mysql_query($sql);
$resultArray=mysql_fetch_array($result);
$matchtype=$resultArray["matchtype"];
if($matchtype=="Gruppenspiel"){
$table_groupmatchtipps=dbschema::groupmatchtipps;
$sqlreal="SELECT t.matchnr, team1 as teamX, team2 as teamY, goalsX, goalsY
FROM $table_groupmatchtipps t, $table_matches m
WHERE t.user='real' AND t.matchnr=$matchnr AND t.matchnr=m.matchnr";
} else {
$table_finalmatchtipps=dbschema::finalmatchtipps;
$sqlreal="SELECT * FROM $table_finalmatchtipps t WHERE t.user='real' AND t.matchnr=$matchnr";
}
//echo $sqlreal . "\n";
$ergebnisReal=mysql_query($sqlreal);
$arrayReal=mysql_fetch_array($ergebnisReal);
return $arrayReal;
}
function getEvaluatedGroups()
{
$tableteams=dbschema::teams;
$tablegroupranktipps=dbschema::groupranktipps;
$sql="SELECT DISTINCT t.group FROM $tablegroupranktipps rt, $tableteams t WHERE rt.user='real' AND t.shortname=rt.team GROUP BY t.group";
$result=mysql_query($sql)
or die(": " . mysql_error());
return $result;
}
function getEnteredFinals()
{
$tablefinalmatchtipps=dbschema::finalmatchtipps;
$sql="SELECT matchnr FROM $tablefinalmatchtipps ft WHERE ft.user='real' ORDER BY matchnr";
$result=mysql_query($sql)
or die(": " . mysql_error());
return $result;
}
function printUserScores(){
include_once("../util/UserScores.php5");
$tableusers=dbschema::users;
$sql="SELECT * FROM $tableusers ORDER BY username";
$resultUsers=mysql_query($sql);
$numUsers=mysql_num_rows($resultUsers);
//$arrayUsers=mysql_fetch_array($resultUsers);
for ($i=0; $i<$numUsers; $i++)
{
$name = mysql_result($resultUsers, $i, "username");
$firstname = mysql_result($resultUsers, $i, "firstname");
$lastname = mysql_result($resultUsers, $i, "lastname");
//if($name!='admin' && $name!='real' && $name!='test')
if($name!='admin' && $name!='real') // just for fun : don't exclude testlogin
{
$userScores=new UserScores();
$scoreSum = $userScores->getScoreSumUser($name);
$arrayUserScore[] = array('username' => $name, 'firstname' => $firstname, 'lastname' => $lastname, 'score' => $scoreSum);
}
}
foreach ($arrayUserScore as $key => $row) {
$username[$key] = $row['username'];
$score[$key] = $row['score'];
$lastn[$key] = $row['lastname'];
$firstn[$key] = $row['firstname'];
}
array_multisort($score, SORT_DESC, $username, SORT_ASC, $arrayUserScore);
//array_multisort($score, SORT_DESC, $lastn, SORT_ASC, $firstn, SORT_ASC, $arrayUserScore);
//sort($arrayUserScore, SORT_DESC);
echo "";
echo "";
echo "";
//echo "Username | Vorname | Nachname | Punkte | ";
//echo "Rang | Punkte | Vorname | Nachname | ";
echo "Rang | Punkte | User | ";
echo "
";
echo "";
$lastScore = 1000;
$rank=1;
for($i=0; $i < count($arrayUserScore); $i++)
{
//printUserScoreRow($arrayUserScore[$i]["username"], $arrayUserScore[$i]["firstname"], $arrayUserScore[$i]["lastname"], $arrayUserScore[$i]["score"] );
$user = $arrayUserScore[$i]["username"];
$currScore = $arrayUserScore[$i]["score"];
if($lastScore > $currScore)
{
$rank=$i+1 . ".";
}
else
{
$rank="";
}
//printUserScoreRow($rank, $arrayUserScore[$i]["score"], $arrayUserScore[$i]["firstname"], $arrayUserScore[$i]["lastname"]);
printUserScoreRow($rank, $arrayUserScore[$i]["score"], $arrayUserScore[$i]["username"]);
$lastScore = $currScore;
}
echo "
";
}
function printUserScoreRow($rank, $score, $username){
echo "";
echo " $rank | ";
echo " $score | ";
echo "$username | ";
echo "
";
}
?>