Améliorations
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
@@ -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()));
|
||||||
|
Reference in New Issue
Block a user