Vitaly2106
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть такое скрипт, который вытягивает данные из таблицы SC_products Код: <?php function smarty_function_last_products ($params, &$smarty){ $default_limit = 10; $limit = (isset ($params['limit']) && $params['limit'] > 0)? $params['limit'] : $default_limit; $products = db_phquery_fetch (DBRFETCH_ROW_ALL, 'SELECT `products`.*, `products`.'.LanguagesManager::sql_prepareField('name').' as `name`, `products`.'.LanguagesManager::sql_prepareField('brief_description').' as `brief_description`, `pictures`.`thumbnail` FROM `?#PRODUCTS_TABLE` `products` LEFT JOIN `?#PRODUCT_PICTURES` `pictures` USING (`productID`) WHERE `products`.`enabled` = 1 AND `products`.`categoryID` not in (0,1,10) AND `products`.`parent` not in (556) AND `pictures`.`photoID` = `products`.`default_picture` AND `products`.`in_stock` > 1 ORDER BY `products`.`productID` DESC LIMIT ?', $limit); foreach ($products as $i => $product){ $products[$i]['PriceWithUnit'] = show_price ($product['Price']); } if ($products){ $smarty->assign ('products', $products); $smarty->display (DIR_FTPLS.'/last_products.html'); } } ?> | В этом коде я дописал строчку AND `products`.`categoryID` not in (0,1,10) где указываю ID категорий которые не нужно выводить, но нужно сделать чтобы при этом он учитывал родительские категории. Судя по всему categoryID хранится в таблице products и указывает на принадлежность товара к категории, а вот parent (т.е. родительская категория) в таблице SC_categories, связь между двумя таблицами происходит так: Код: select * from sc_products inner join sc_categories on products.categoryID=sc_categories.categoryID | А для фильтрации я так понял добавлять where sc_categories.parent=... ну или not in Подскажите, как правильно прописать это в коде? Я в программирование не силен, пробовал дописывать куски, но скрипт постоянно ругается на ошибки, посмотрите пожалуйста что не так... | Всего записей: 23 | Зарегистр. 14-08-2012 | Отправлено: 03:02 25-11-2013 | Исправлено: Vitaly2106, 03:04 25-11-2013 |
|