Fix: show failed record in result, ranking
This commit is contained in:
@@ -190,7 +190,7 @@ class TypingExamCollection extends DBMethodContainer
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND HOUR(TER.RecordDateTime) = HOUR(?) AND TER.WritingID = ?
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND HOUR(TER.RecordDateTime) = HOUR(?) AND TER.WritingID = ? AND TER.Record >= 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) DESC;
|
||||
";
|
||||
@@ -215,7 +215,7 @@ class TypingExamCollection extends DBMethodContainer
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND TER.WritingID = ?
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND TER.WritingID = ? AND TER.Record >= 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) DESC;
|
||||
";
|
||||
@@ -240,7 +240,7 @@ class TypingExamCollection extends DBMethodContainer
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND TER.WritingID = ?
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND TER.WritingID = ? AND TER.Record >= 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) DESC;
|
||||
";
|
||||
@@ -260,5 +260,80 @@ class TypingExamCollection extends DBMethodContainer
|
||||
|
||||
return $rankingRecordArray;
|
||||
}
|
||||
|
||||
function getRankingMinusRecordHour($maestroID, $writingID, $date, $time) {
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND HOUR(TER.RecordDateTime) = HOUR(?) AND TER.WritingID = ? AND TER.Record < 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) ASC;
|
||||
";
|
||||
$stmt = $this->mysqli->prepare($query);
|
||||
$stmt->bind_param('issssi', $maestroID, $date, $date, $date, $time, $writingID);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($playerID, $name, $highScore);
|
||||
|
||||
$rankingRecordArray = array();
|
||||
while($stmt->fetch()) {
|
||||
$rankingRecord['PlayerID'] = $playerID;
|
||||
$rankingRecord['Name'] = $name;
|
||||
$rankingRecord['HighScore'] = $highScore;
|
||||
array_push($rankingRecordArray, $rankingRecord);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $rankingRecordArray;
|
||||
}
|
||||
|
||||
function getRankingMinusRecordDay($maestroID, $writingID, $date) {
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND DAYOFMONTH(TER.RecordDateTime) = DAYOFMONTH(?) AND TER.WritingID = ? AND TER.Record < 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) ASC;
|
||||
";
|
||||
$stmt = $this->mysqli->prepare($query);
|
||||
$stmt->bind_param('isssi', $maestroID, $date, $date, $date, $writingID);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($playerID, $name, $highScore);
|
||||
|
||||
$rankingRecordArray = array();
|
||||
while($stmt->fetch()) {
|
||||
$rankingRecord['PlayerID'] = $playerID;
|
||||
$rankingRecord['Name'] = $name;
|
||||
$rankingRecord['HighScore'] = $highScore;
|
||||
array_push($rankingRecordArray, $rankingRecord);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $rankingRecordArray;
|
||||
}
|
||||
|
||||
function getRankingMinusRecordMonth($maestroID, $writingID, $date) {
|
||||
$query = "
|
||||
SELECT TER.playerID As PlayerID, U.Name AS Name, MAX(TER.Record) AS HighScore
|
||||
FROM typing_exam_record TER, player U
|
||||
WHERE TER.MaestroID = ? AND TER.playerID = U.playerID AND YEAR(TER.RecordDateTime) = YEAR(?) AND MONTH(TER.RecordDateTime) = MONTH(?) AND TER.WritingID = ? AND TER.Record < 0
|
||||
GROUP BY TER.playerID
|
||||
ORDER BY MAX(TER.Record) ASC;
|
||||
";
|
||||
$stmt = $this->mysqli->prepare($query);
|
||||
$stmt->bind_param('issi', $maestroID, $date, $date, $writingID);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($playerID, $name, $highScore);
|
||||
|
||||
$rankingRecordArray = array();
|
||||
while($stmt->fetch()) {
|
||||
$rankingRecord['PlayerID'] = $playerID;
|
||||
$rankingRecord['Name'] = $name;
|
||||
$rankingRecord['HighScore'] = $highScore;
|
||||
array_push($rankingRecordArray, $rankingRecord);
|
||||
}
|
||||
$stmt->close();
|
||||
|
||||
return $rankingRecordArray;
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user