Vitaly2106:
Есть такое скрипт, который вытягивает данные из таблицы SC_products
Код:
В этом коде я дописал строчку AND `products`.`categoryID` not in (0,1,10) где указываю ID категорий которые не нужно выводить, но нужно сделать чтобы при этом он учитывал родительские категории.
Судя по всему categoryID хранится в таблице products и указывает на принадлежность товара к категории, а вот parent (т.е. родительская категория) в таблице SC_categories, связь между двумя таблицами происходит так:
Код:
А для фильтрации я так понял добавлять where sc_categories.parent=... ну или not in
Подскажите, как правильно прописать это в коде? Я в программирование не силен, пробовал дописывать куски, но скрипт постоянно ругается на ошибки, посмотрите пожалуйста что не так...
Есть такое скрипт, который вытягивает данные из таблицы 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
Подскажите, как правильно прописать это в коде? Я в программирование не силен, пробовал дописывать куски, но скрипт постоянно ругается на ошибки, посмотрите пожалуйста что не так...