Интернет-магазин - как вытащить все "новинки"?
Bella 06.12.2007 22:26
Сижу изобретаю "велосипед", т.е. интернет-магазин.
Решила сделать вывод в каждом разделе товаров из серии "Новинки", "Рекомендуем", "Спецпредложения".
И тут все застопорилось. Проблема в правильном построении запроса к БД.
Есть 3 таблицы.
1-я, shop_group - содержит перечень основных разделов (типа Кофе, Чай, Посуда). Поля: id, sort_order, group_name, group_show (скрыть/показать раздел).
2-я, shop_sub_group - содержит перечень подразделов (типа Кофе в банках, Кофе в зернах, Чай черный, Чай зеленый). Поля: id, sort_order, parent_group (содержит id разделов), sub_group_name, sub_group_show (скрыть/показать подраздел).
3-я, shop_positions - таблица с самими товарами. Поля: id, parent_sub_group (содержит id подразделов), positions_name, producer, unit, price, description, positions_news (новинка), positions_recommend (рекомендуем), positions_special (спецпредложение), show_positions (скрыть/показать товар).
Хотела сделать так, чтобы при заходе в раздел, например "Кофе", покупателю на витрине показывались товары: 3 новинки, 3 рекомендуемых товара, 3 спецпредложения, соот. из этого раздела.
Запрос типа:
$dir[^table::sql{SELECT
id,
parent_group
FROM
shop_sub_group
WHERE
parent_group = '$form:subs'
}]
$positions_news[^table::sql{SELECT
id,
positions_news,
positions_name,
producer,
unit,
price,
description
FROM
shop_positions
WHERE
show_positions = 1
AND
positions_news = 1
^dir.menu{
AND
parent_sub_group = $dir.id }
ORDER BY RAND() limit 3
}]
не работает.
Как достать все "новинки", не могу сообразить :( ибо parent_sub_group может иметь столько значений, сколько подразделов...
Как решить эту проблему? Помогите, плз!!!
- Интернет-магазин - как вытащить все "новинки"?, Bella 06.12.2007 22:26