Quantcast
Channel: Ru.Board
Viewing all articles
Browse latest Browse all 1003802

MySQL Помогите составить запрос (180) /

$
0
0
Vitaly2106:
Есть такое скрипт, который вытягивает данные из таблицы 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

Подскажите, как правильно прописать это в коде? Я в программирование не силен, пробовал дописывать куски, но скрипт постоянно ругается на ошибки, посмотрите пожалуйста что не так...

Viewing all articles
Browse latest Browse all 1003802

Trending Articles