Skip to content

Commit 0580f88

Browse files
committed
fix: ordinamento tabelle
1 parent a680cc0 commit 0580f88

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

src/Util/Query.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,25 @@ public static function getQuery($structure, $search = [], $order = [], $limit =
250250
$query = preg_replace('/\s+ORDER\s+BY\s+.+$/i', '', $query);
251251
$order_clause = $total['order_by'][$column_index];
252252

253-
// Sanitizzazione della clausola ORDER BY
253+
// Determina la clausola di ordinamento da usare
254+
$final_order_clause = '';
254255
if (!empty($order_clause)) {
255-
$query .= ' ORDER BY '.$order_clause.' '.$direction;
256+
$final_order_clause = $order_clause;
257+
} else {
258+
// Se order_by è vuoto, usa il nome del campo come fallback
259+
if (isset($total['fields'][$column_index])) {
260+
$field_name = $total['fields'][$column_index];
261+
$field_name = preg_replace('/[^a-zA-Z0-9_.]/', '', $field_name);
262+
if (!empty($field_name)) {
263+
$final_order_clause = '`'.$field_name.'`';
264+
}
265+
}
266+
}
267+
268+
// Applica l'ordinamento solo se abbiamo una clausola valida
269+
if (!empty($final_order_clause)) {
270+
$query = preg_replace('/\s+ORDER\s+BY\s+.*$/is', '', $query);
271+
$query .= ' ORDER BY '.$final_order_clause.' '.$direction;
256272
}
257273
}
258274
}

0 commit comments

Comments
 (0)