"ORDER BY c.price ASC", 2 => "ORDER BY c.id ASC", 3 => "ORDER BY c.id DESC", default => "ORDER BY c.price DESC", }; if ($priceRangeEnabled) { $where[] = "c.price BETWEEN ? AND ?"; $params[] = $priceRangeMin; $params[] = $priceRangeMax; $types .= "ii"; } if ($searchForEnabled && $searchForValue !== '') { $where[] = "FROM_BASE64(c.name) LIKE ?"; $params[] = "%$searchForValue%"; $types .= "s"; } if ($onlyShowEnabled) { if ($onlyShowValue === '0') { $where[] = "c.userId = ?"; $params[] = $userId; $types .= "i"; } elseif ($onlyShowValue === '1') { $where[] = "c.userId != ?"; $params[] = $userId; $types .= "i"; } } $sql = " SELECT c.data, u.username, u.id, c.price, c.name, c.uuid, c.state FROM marketplaceicons c JOIN users u ON c.userId = u.id WHERE " . implode(" AND ", $where) . " $order "; $stmt = $conn->prepare($sql); if (!empty($params)) { $stmt->bind_param($types, ...$params); } $stmt->execute(); $result = $stmt->get_result(); echo encrypt(json_encode(array_map(fn($row) => ['username' => $row['username'], 'userid' => $row['id'], 'data' => $row['data'], 'uuid' => $row['uuid'], 'price' => (int)$row['state'] == 2 ? 100000000 : $row['price'], 'name' => base64_decode($row['name'])], $result->fetch_all(MYSQLI_ASSOC)))); $conn->close();