Améliorations

This commit is contained in:
2024-12-05 16:39:22 +01:00
parent d7a23c63d4
commit bc7c67be4a
2 changed files with 17 additions and 5 deletions

View File

@@ -92,9 +92,15 @@ public class GameModeSelectionPanel extends JPanel {
// Récupérer les dates des spinners // Récupérer les dates des spinners
Date startDate = (Date) startDateSpinner.getValue(); Date startDate = (Date) startDateSpinner.getValue();
Date endDate = (Date) endDateSpinner.getValue(); Date endDate = (Date) endDateSpinner.getValue();
// Calculer le lendemain de la date de fin
Calendar cal = Calendar.getInstance();
cal.setTime(endDate);
cal.add(Calendar.DAY_OF_MONTH, 1); // Ajouter un jour pour obtenir le lendemain
Date nextDay = cal.getTime(); // Le lendemain de endDate
// Get paginated series // Get paginated series
List<String> series = database.getSeriesByDateRangePaginated(startDate, endDate, List<String> series = database.getSeriesByDateRangePaginated(startDate, nextDay,
currentPage, currentPage,
itemsPerPage); itemsPerPage);
@@ -119,7 +125,7 @@ public class GameModeSelectionPanel extends JPanel {
} }
// Update page label // Update page label
int totalSeries = database.countSeriesByDateRange(startDate, endDate); int totalSeries = database.countSeriesByDateRange(startDate, nextDay);
int totalPages = (int) Math.ceil((double) totalSeries / itemsPerPage); int totalPages = (int) Math.ceil((double) totalSeries / itemsPerPage);
pageLabel.setText("Page " + currentPage + " / " + totalPages); pageLabel.setText("Page " + currentPage + " / " + totalPages);

View File

@@ -166,9 +166,15 @@ public class Database {
List<String> series = new ArrayList<>(); List<String> series = new ArrayList<>();
try { try {
String query = "SELECT name FROM Series " + String query = "SELECT name FROM Series " +
"WHERE creation_date BETWEEN ? AND ? " + "WHERE creation_date BETWEEN ? AND ? " +
"ORDER BY creation_date DESC " + "ORDER BY " +
"LIMIT ? OFFSET ?"; " CASE " +
" WHEN name LIKE 'Série custom%' THEN CAST(REGEXP_SUBSTR(name, '[0-9]+') AS UNSIGNED) " + // Extraction numérique pour 'Série custom'
" ELSE NULL " +
" END ASC, " + // Tri par numéro pour 'Série custom'
" created_by_developer DESC, " + // Tri par développeur ou joueur
" name ASC " + // Tri alphabétique
"LIMIT ? OFFSET ?";
PreparedStatement statement = this.database.prepareStatement(query); PreparedStatement statement = this.database.prepareStatement(query);
statement.setDate(1, new java.sql.Date(startDate.getTime())); statement.setDate(1, new java.sql.Date(startDate.getTime()));