Здравствуйте.
Мне нужно, чтобы в общем списке объявлений (до 15 шт) всегда на первом месте выводились премиум-объявления, но только ограниченно (до 5 шт). Т.е. на странице может быть всего 20 объявлений.
сначала я попробовал сделать общую выборку с сортировкой по премиуму, но получилось не совсем то, т.к. будут все премиум первыми идти в выдаче.
решил сделать две отдельные выборки (select count
) и результат (select
) объединить (array_merge
). Но столкнулся с проблемой пагинации, которую не пойму как решить:
допустим выборка премиум дала 10 страниц (9стр. по 5шт, 10я - 2шт), а обычная выборка дала 3 страницы.
На сайте я получаю готовые 3 страницы, на которых видно все как надо, но т.к. премиум заняло 10 страниц, то часть премиум уже потеряна.
Подскажите логику действий, а то запутался! Спасибо.
Можно использовать UNION. Первый запрос с LIMIT 5.
SELECT премиум LIMIT 5
UNION
SELECT обычные
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сейчас выводит поиск только по user_name, как сделать или user_lastname или user_salary?
Почему, при вызове одного и того же метода с разными параметрами в одном блоке кода не работает?