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

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

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

Вот некоторая часть кода;

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";
}

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

0

Решение

Исходя из ваших критериев, вам нужно следующее условие заказа:

ORDER BY `order_no` DESC, `title`

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]