Refactor product ordering logic to use POST data; improve query structure and enhance readability

This commit is contained in:
2025-01-06 13:08:18 +01:00
parent f32f40bc50
commit bd0b5c58c0
3 changed files with 7 additions and 4 deletions

View File

@@ -14,8 +14,9 @@ class Products
$client_id = \S::get( 'client_id' );
$limit = \S::get( 'length' ) ? \S::get( 'length' ) : 10;
$start = \S::get( 'start' ) ? \S::get( 'start' ) : 0;
$order_dir = \S::get( 'order[0][dir]' ) ? strtoupper( \S::get( 'order[0][dir]' ) ) : 'DESC';
$order_name = \S::get( 'order[0][name]' ) ? \S::get( 'order[0][name]' ) : 'clicks';
$order_dir = $_POST['order'][0]['dir'] ? strtoupper( $_POST['order'][0]['dir'] ) : 'DESC';
$order_name = $_POST['order'][0]['name'] ? $_POST['order'][0]['name'] : 'clicks';
$search = $_POST['search']['value'];
$db_results = \factory\Products::get_products( $client_id, $search, $limit, $start, $order_name, $order_dir );

View File

@@ -8,8 +8,10 @@ class Products
if ( $search )
return $mdb -> query( 'SELECT pt.*, p.offer_id FROM products_temp AS pt INNER JOIN products AS p ON p.id = pt.product_id WHERE client_id = \'' . $client_id . '\' AND pt.name LIKE \'%' . $search . '%\' ORDER BY ' . $order_name . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $limit ) -> fetchAll();
else
else {
// echo 'SELECT pt.*, p.offer_id FROM products_temp AS pt INNER JOIN products AS p ON p.id = pt.product_id WHERE client_id = \'' . $client_id . '\' ORDER BY ' . $order_name . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $limit;
return $mdb -> query( 'SELECT pt.*, p.offer_id FROM products_temp AS pt INNER JOIN products AS p ON p.id = pt.product_id WHERE client_id = \'' . $client_id . '\' ORDER BY ' . $order_name . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $limit ) -> fetchAll();
}
}
static public function get_records_total_products( $client_id, $search )

View File

@@ -81,7 +81,7 @@
{ width: 'auto', name: 'roas' },
{ width: 'auto', name: 'cl3', orderable: false },
{ width: '200px', orderable: false }],
order: [ [0, false], [ 4, 'desc'] ]
order: [ [ 5, 'desc' ] ]
});
});