порядок php по 2 параметрам

0

Мне нужно заказать список следующим образом:

  • Сначала магазины, которые представлены (признанные магазины имеют значения> 1 в "order_no"), должны быть заказаны в соответствии с параметрами order_no
  • После показанных магазинов обычные магазины ("order_no" = 1) следует заказывать по возрастанию по "заголовку" (в алфавитном порядке)

Вот часть кода;

const DEFAULT_ORDER_COLUMN = "title";
const DEFAULT_ORDER_BY = "asc";

public function category() {
    $orderColumn = isset( $_GET['column'] ) && in_array($_GET['column'], $this->orderColum) ? $_GET['column'] : self::DEFAULT_ORDER_COLUMN;
    $orderBy = isset( $_GET['order'] ) && in_array($_GET['order'], $this->orderBy) ? $_GET['order'] : self::DEFAULT_ORDER_BY;
    $params['total'] = $search->rowCount();
    $params['result'] = $search->fetchAll();
    template::add_content(template::load('homepage/category', $params));
}

Я попытался решить эту проблему с помощью этого кода

if ( isset( $_GET['order_no'] ) ) != 1 {
const DEFAULT_ORDER_COLUMN = "order";
const DEFAULT_ORDER_BY = "desc";
} else {
const DEFAULT_ORDER_COLUMN = "title";
const DEFAULT_ORDER_BY = "asc";
}

но не работает. Каким будет решение?

Теги:
order

1 ответ

0

Основываясь на ваших критериях, вам необходимо следующее предложение:

ORDER BY 'order_no' DESC, 'title'

Однако из вашего кода неясно, как вы строите свой sql и как переменные $_GET связаны с вашим вопросом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню