Задать вопрос
@Anrek

Как обозначить тип сортировки?

Добрый день!

Я отправляю запрос с клиента, чтобы мне прислали товары в определенно порядке. в бэкенде отправляется запрос к базе данных.

у меня есть несколько вариантов сортировки:
- по убыванию цены
- по возрастанию цены
- по дате добавления
- по рейтингу

Вопрос: Как обозначить тип сортировки чтобы было как принято? Сгодится ли 1,2,3,4? Пришло на бэкенд 4 - значит отправляем запрос в базу данных "по рейтингу". Или лучше с клиента передавать строку сразу, что-то вроде "order by 'price'"? Или еще как-то по другому?
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 2
@Akina
Сетевой и системный админ, SQL-программист.
Передавайте индекс выражения сортировки. А по этому индексу - либо выполняйте соответствующий заранее полностью подготовленный запрос, либо стройте текст запроса на основании переданного индекса.

Передача части запроса, которая потом будет встроена в текст запроса - плохая идея, ибо чревато инъекцией. Условное выражение на основании переданного параметра этого недостатка лишено, но похоронит возможность использования индексов для сортировки, если они могут быть применены в частной форме запроса.
Ответ написан
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Следует передавать 2 параметра: поле и порядок сортировки и в соответствии формировать запрос на бэке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы