From f8c9eb5220afaf2f9a62f9a176a45913240f4081 Mon Sep 17 00:00:00 2001 From: raylu Date: Thu, 7 Apr 2011 00:27:27 -0400 Subject: Initial import from Dropbox --- pages/leaderboard.php | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 pages/leaderboard.php (limited to 'pages/leaderboard.php') diff --git a/pages/leaderboard.php b/pages/leaderboard.php new file mode 100644 index 0000000..c8f03b8 --- /dev/null +++ b/pages/leaderboard.php @@ -0,0 +1,236 @@ + + + + +
'; + + +$tStats = getStat(1); +$yStats = getStat(2); + +$wStats = getStat(3); +$mStats = getStat(4); + + +function getStat ($type) { + switch ($type) { + + //Todays + case 1: + $where = " + DATE_ADD(CURDATE(), INTERVAL -0 DAY) = + DATE_FORMAT(solutions.dateModified,'%Y-%m-%d') + AND DATE_ADD(CURDATE(), INTERVAL -0 DAY) = + DATE_FORMAT(maps.dateCreated,'%Y-%m-%d') + "; + $statname = "Today's Best Overall:"; + break; + //Yesterdays + case 2: + $where = " + DATE_ADD(CURDATE(), INTERVAL -1 DAY) = + DATE_FORMAT(solutions.dateModified,'%Y-%m-%d') + AND DATE_ADD(CURDATE(), INTERVAL -1 DAY) = + DATE_FORMAT(maps.dateCreated,'%Y-%m-%d') + "; + $statname = "Yesterday's Best Overall:"; + break; + case 3: + $where = " + YEARweek(solutions.dateModified) = YEARweek(CURRENT_DATE) + "; + $statname = "This week, starting Sunday"; + break; + case 4: + $where = " + month(solutions.dateModified) = month(CURRENT_DATE) + "; + $statname = "This month's Best"; + break; + } + + $sql = "SELECT + users.displayName as Name, + SUM(solutions.moves) as Moves, + timediff(MAX(dateModified), maps.dateCreated) as Timetaken + FROM `maps` + JOIN `solutions` + ON maps.ID = solutions.mapID + JOIN `users` + ON solutions.userID = users.ID + WHERE $where + GROUP BY solutions.userID + ORDER BY Moves DESC, MAX(dateModified) ASC + "; + $result = mysql_query($sql); + return displayStats($result, $statname); +} + + + +?> +
+Overall | +Simple | +Normal | +Complex | +Special | +Week/Month +
+
+ +
+
+ +
+
+ +
+
+ + + 0) { + list($bestMoves, $byName, $solution) = mysql_fetch_row($result); + //echo "Best solution for this map: $bestMoves by $byName"; + //$map = MergeMapSolution($map, $solution); + //echo DisplayMap($map, $mapID); + } + echo '
'; + echo "
"; + echo '
'; + echo $stats; + echo '
'; + + echo '
'; + echo "Best solution for this map: $bestMoves by $byName "; + echo DisplayMap($map, $mapID, true, 2); + echo '
'; + echo '
'; +} + +function displaystats($result, $caption = NULL) { + //Get names. + $headers .= "Rank"; + $headers .= "Name"; + $headers .= "Moves"; + $headers .= "Time taken"; + //Start table + $r .= ""; + $r .= ""; + //Headers on the top. including Rank. + $r .= ""; + $r .= $headers; + $r .= ""; + + $i = 1; + while ($row = mysql_fetch_assoc($result)) { + $rowcontent = ''; + $mapid = $row['mapID']; + $solution = $row['solution']; + + $r .= ""; + $r .= ""; + $r .= ''; + $r .= ''; + $r .= ''; + $r .= ""; + $i++; + } + $r .= "
$caption
$i' . $row['Name'] . '' . $row['Moves'] . '' . $row['Timetaken'] . '
"; + return $r; +} + +function mysql_field_array( $query ) { + $field = mysql_num_fields( $query ); + for ( $i = 0; $i < $field; $i++ ) { + $names[] = mysql_field_name( $query, $i ); + } + return $names; +} + +// $sql = 'select columnname etc' +// $result = mysql_query($sql); +// while ($data[] = mysql_fetch_row($result)); + +// $data[1]['columnname'] == 'my data'; + +yesterdayMaze(1, 'Easy'); +yesterdayMaze(2, 'Normal'); +yesterdayMaze(3, 'Complex'); +yesterdayMaze(4, 'Special'); + +?> + +
+
+
+ +
+
+ +
+
+ + + -- cgit v1.2.3