Modifications

This commit is contained in:
2024-12-04 10:34:00 +01:00
parent 96a02dd5cb
commit 5a9ecd2da0
5 changed files with 67 additions and 32 deletions

View File

@@ -75,19 +75,51 @@ public class Database {
public List<PlayerScore> getAllScores(long seriesId) throws SQLException {
List<PlayerScore> allScores = new ArrayList<>();
String query = "SELECT score FROM Scores WHERE series_id = ? ORDER BY score DESC";
// Requête pour récupérer les scores et le nom de la série
String query = "SELECT s.score, se.name " +
"FROM Scores s " +
"JOIN Series se ON s.series_id = se.series_id " +
"WHERE s.series_id = ? " +
"ORDER BY s.score DESC";
try (PreparedStatement stmt = this.database.prepareStatement(query)) {
stmt.setLong(1, seriesId);
stmt.setLong(1, seriesId); // Paramètre pour filtrer par series_id
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
int score = rs.getInt("score");
allScores.add(new PlayerScore("Joueur Anonyme", score)); // Nom générique
String seriesName = rs.getString("name"); // Nom de la série
// Créer un texte à afficher incluant le score et le nom de la série
String displayText = "Score: " + score + " | Série: " + seriesName;
// Ajouter l'objet PlayerScore à la liste avec un nom générique et le score
allScores.add(new PlayerScore(seriesName, score)); // Ajout du nom de la série
}
}
}
return allScores;
}
}
public List<String> getAllSeries() {
List<String> series = new ArrayList<>();
try {
String query = "SELECT name FROM series ORDER BY date_created DESC"; // Trier par date
Statement statement = this.database.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
series.add(resultSet.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return series;
}
public long getSeedByName(String name) throws SQLException {
String query = "SELECT series_id FROM Series WHERE name = " + "\'" + name + "\'" +";";
@@ -147,21 +179,29 @@ public class Database {
public List<PlayerScore> getTopPlayers() throws SQLException {
List<PlayerScore> topPlayers = new ArrayList<>();
// Requête pour récupérer les scores et la date de soumission
String query = "SELECT score FROM Scores ORDER BY score DESC LIMIT 10";
// Requête pour récupérer les scores et le nom de la série, triée par score décroissant
String query = "SELECT s.score, se.name FROM Scores s " +
"JOIN Series se ON s.series_id = se.series_id " +
"ORDER BY s.score DESC LIMIT 10";
try (Statement stmt = this.database.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
ResultSet rs = stmt.executeQuery(query)) {
while (rs.next()) {
int score = rs.getInt("score");
// Créer un texte à afficher incluant le score et la date formatée
String displayText = "";
topPlayers.add(new PlayerScore(displayText, score));
String seriesName = rs.getString("name"); // Nom de la série
// Créer un texte à afficher incluant le score et le nom de la série
String displayText = "Score: " + score + " | Série: " + seriesName;
// Ajouter l'objet PlayerScore à la liste
topPlayers.add(new PlayerScore(seriesName, score)); // Assurez-vous que PlayerScore accepte un nom de série
}
}
return topPlayers;
}

View File

@@ -1,19 +1,19 @@
package fr.monkhanny.dorfromantik.utils;
/**
* Représente un score d'un joueur avec son nom et son score.
* Représente un score d'un joueur dans une série;
*/
public class PlayerScore {
private String username;
private String serie;
private int score;
public PlayerScore(String username, int score) {
this.username = username;
public PlayerScore(String serie, int score) {
this.serie = serie;
this.score = score;
}
public String getUsername() {
return username;
public String getSerieName() {
return serie;
}
public int getScore() {