Показать популярные продукты в верхней части дисплея

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

   $result = mysqli_query($con,"select p.image,p.price,p.store_name,p.deal_title_url,p.shop_now_url,p.coupon_code,p.special_deal_txt,p.special_comment_txt,s.price,d.name,p.date_added from oc_product p, oc_product_special s,oc_product_description d where p.product_id=s.product_id and p.product_id=d.product_id order by p.date_added DESC $limit;");

Заметка —
1. Ограничение для пагинации
2. Данные выбираются из нескольких таблиц

Теперь я хочу отобразить все рекомендуемые продукты в верхней части дисплея. Таким образом, в основном продукты, которые находятся в избранном массиве, всегда должны отображаться сверху, а затем остальные продукты в зависимости от даты создания.

Идентификаторы рекомендуемого продукта хранятся в массиве — $ featured_array

Как это может быть сделано?

Обратите внимание, что количество рекомендуемых продуктов может варьироваться.

0

Решение

Попробуйте использовать UNION. В первом запросе получить рекомендуемые товары, во втором поставить текущий запрос. Предел для результата объединения

(
select p.image,p.price,p.store_name,p.deal_title_url,p.shop_now_url,p.coupon_code,p.special_deal_txt,p.special_comment_txt,s.price,d.name,p.date_added from oc_product p, oc_product_special s,oc_product_description d where p.product_id=s.product_id and p.product_id=d.product_id AND p.product_id IN($featuredProductsIds) order by p.date_added DESC
)
UNION
(
select p.image,p.price,p.store_name,p.deal_title_url,p.shop_now_url,p.coupon_code,p.special_deal_txt,p.special_comment_txt,s.price,d.name,p.date_added from oc_product p, oc_product_special s,oc_product_description d where p.product_id=s.product_id and p.product_id=d.product_id order by p.date_added DESC
)
$limit;
0

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

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

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