Вход Регистрация
Файл: upload/core/ajax/sort_subcategory_handler.php
Строк: 27
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/core/core.php');

$id       intval($_POST['id']);
$sortType $_POST['sort'] ?? 'default';

$orderParts = [];

// --- ТИП ---
if (str_contains($sortType'sale')) {
    
$orderParts[] = "CASE WHEN w.person_work = 1 THEN 0 ELSE 1 END";
}
if (
str_contains($sortType'order')) {
    
$orderParts[] = "CASE WHEN w.person_work = 2 THEN 0 ELSE 1 END";
}

// --- РЕЙТИНГ ---
if (str_contains($sortType'rating_desc')) {
    
$orderParts[] = "avg_rating DESC";
}
if (
str_contains($sortType'rating_asc')) {
    
$orderParts[] = "avg_rating ASC";
}

// --- ЦЕНА (исправлено!) ---
if (str_contains($sortType'price_asc')) {
    
$orderParts[] = "CAST(REPLACE(w.cena_work, ' ', '') AS DECIMAL) ASC";
}
if (
str_contains($sortType'price_desc')) {
    
$orderParts[] = "CAST(REPLACE(w.cena_work, ' ', '') AS DECIMAL) DESC";
}

if (empty(
$orderParts)) {
    
$orderParts[] = "w.id DESC";
}

$order implode(", "$orderParts);

$q dbquery("
    SELECT 
        w.id,
        CAST(REPLACE(w.cena_work, ' ', '') AS DECIMAL) AS price,
        COALESCE(AVG(r.rating), 0) AS avg_rating
    FROM works w
    LEFT JOIN rating r ON r.k_work = w.id
    WHERE w.subcategory = ?
    GROUP BY w.id
    ORDER BY 
$order
"
, [$id]);

$ids = [];
while (
$row FetchAssoc($q)) {
    
$ids[] = $row['id'];
}

echo 
implode(','$ids);
?>
Онлайн: 4
Реклама