예제 #1
0
function oe_get_subcategories(&$subcategories_array, $parent_id = 0)
{
    $subcategories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int) $parent_id . "'");
    while ($subcategories = tep_db_fetch_array($subcategories_query)) {
        $subcategories_array[sizeof($subcategories_array)] = $subcategories['categories_id'];
        if ($subcategories['categories_id'] != $parent_id) {
            oe_get_subcategories($subcategories_array, $subcategories['categories_id']);
        }
    }
}
    if (sizeof($search_array) <= 1) {
        $search_fields = array('p.products_id', 'p.products_price', 'p.products_model', 'pd.products_name');
        $product_search = oe_generate_search_SQL($search_array, $search_fields);
    } else {
        $search_fields = array('pd.products_name');
        $product_search = oe_generate_search_SQL($search_array, $search_fields, 'AND');
    }
    $products_query = tep_db_query("select p.products_id, p.products_price, p.products_model, pd.products_name from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on (p.products_id = pd.products_id) where pd.language_id = '" . $languages_id . "' and (" . $product_search . ") order by pd.products_name");
    $not_found = tep_db_num_rows($products_query) ? false : true;
}
if (!isset($_POST['search'])) {
    $product_search = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id ";
    $_GET['inc_subcat'] = '1';
    if ($_GET['inc_subcat'] == '1') {
        $subcategories_array = array();
        oe_get_subcategories($subcategories_array, $add_product_categories_id);
        $product_search .= " and p2c.products_id = p.products_id and p2c.products_id = pd.products_id and (p2c.categories_id = '" . (int) $add_product_categories_id . "'";
        for ($i = 0, $n = sizeof($subcategories_array); $i < $n; $i++) {
            $product_search .= " or p2c.categories_id = '" . $subcategories_array[$i] . "'";
        }
        $product_search .= ")";
    } else {
        $product_search .= " and p2c.products_id = p.products_id and p2c.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' and p2c.categories_id = '" . (int) $add_product_categories_id . "'";
    }
    $products_query = tep_db_query("select distinct p.products_id, p.products_price, p.products_model, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c " . $product_search . " order by pd.products_name");
    $not_found = tep_db_num_rows($products_query) ? false : true;
}
$category_array = array(array('id' => '', 'text' => TEXT_SELECT_CATEGORY), array('id' => '0', 'text' => TEXT_ALL_CATEGORIES));
if ($step > 1 && !$not_found) {
    $product_array = array(array('id' => 0, 'text' => TEXT_SELECT_PRODUCT));
    while ($products = tep_db_fetch_array($products_query)) {