锘??php /** * ECSHOP 鍟嗗搧鍒嗙被 * ============================================================================ * * 鐗堟潈鎵鏈?2005-2012 涓婃捣鍟嗘淳缃戠粶绉戞妧鏈夐檺鍏徃锛屽苟淇濈暀鎵鏈夋潈鍒?#37510;? * 缃戠珯鍦板潃: http://www.ecshop.com锛? * ---------------------------------------------------------------------------- * 杩?#28051;?#37828;?#28051;涓嚜鐢辫蒋浠?#38171;?#37806;ㄥ彧鑳?#37734;?#28051;?#37922;?#27996;?#37727;?#28051;氱洰鐨?#37928;?#37715;嶆彁涓嬪绋嬪簭浠g爜杩涜淇敼鍜? * 浣?#37922;?#38171;?#28051;?#37711;佽瀵?#32459;嬪簭浠g爜浠?#28000;?#28003;?#35120;㈠紡浠?#28003;曠洰鐨?#37928;勫啀鍙戝竷銆? * ============================================================================ * $Author: liubo $ * $Id: category.php 17217 2011-01-19 06:29:08Z liubo $ */ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); if ((DEBUG_MODE & 2) != 2) { $smarty->caching = true; } /*------------------------------------------------------ */ //-- INPUT /*------------------------------------------------------ */ /* 鑾峰緱璇锋眰鐨?#37714;嗙被 ID */ if (isset($_REQUEST['id'])) { $cat_id = intval($_REQUEST['id']); } elseif (isset($_REQUEST['category'])) { $cat_id = intval($_REQUEST['category']); } else { /* 濡傛灉鍒嗙被ID涓?锛?#37714;?#26473;斿洖棣栭〉 */ ecs_header("Location: ./\n"); exit; } $smarty->assign('company_news', company_news());//璧?#26473;?#38322;?#28051;?#39582;? $smarty->assign('jingxiao', jingxiao()); // 缁忛攢 $smarty->assign('talent', talent()); // 浜?#37813;? $smarty->assign('lianxi', contact()); // 鑱旂郴 $smarty->assign('cp_categories', get_categories_tree()); // 浜у搧涓績 $smarty->assign('news_categories', article_categories_tree()); //?#32018;涓?#37716;?#37804;? /* 鍒濆?#23338;寲鍒?#26916;?#28103;?#37805;?*/ $page = isset($_REQUEST['page']) && intval($_REQUEST['page']) > 0 ? intval($_REQUEST['page']) : 1; $size = isset($_CFG['page_size']) && intval($_CFG['page_size']) > 0 ? intval($_CFG['page_size']) : 10; $brand = isset($_REQUEST['brand']) && intval($_REQUEST['brand']) > 0 ? intval($_REQUEST['brand']) : 0; $price_max = isset($_REQUEST['price_max']) && intval($_REQUEST['price_max']) > 0 ? intval($_REQUEST['price_max']) : 0; $price_min = isset($_REQUEST['price_min']) && intval($_REQUEST['price_min']) > 0 ? intval($_REQUEST['price_min']) : 0; $filter_attr_str = isset($_REQUEST['filter_attr']) ? htmlspecialchars(trim($_REQUEST['filter_attr'])) : '0'; $filter_attr_str = trim(urldecode($filter_attr_str)); $filter_attr_str = preg_match('/^[\d\.]+$/',$filter_attr_str) ? $filter_attr_str : ''; $filter_attr = empty($filter_attr_str) ? '' : explode('.', $filter_attr_str); /* 鎺掑簭銆?#37828;?#32448;烘柟?#32033;浠?#37721;婄被鍨?*/ $default_display_type = $_CFG['show_order_type'] == '0' ? 'list' : ($_CFG['show_order_type'] == '1' ? 'grid' : 'text'); $default_sort_order_method = $_CFG['sort_order_method'] == '0' ? 'DESC' : 'ASC'; $default_sort_order_type = $_CFG['sort_order_type'] == '0' ? 'goods_id' : ($_CFG['sort_order_type'] == '1' ? 'shop_price' : 'last_update'); $sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type; $order = (isset($_REQUEST['order']) && in_array(trim(strtoupper($_REQUEST['order'])), array('ASC', 'DESC'))) ? trim($_REQUEST['order']) : $default_sort_order_method; $display = (isset($_REQUEST['display']) && in_array(trim(strtolower($_REQUEST['display'])), array('list', 'grid', 'text'))) ? trim($_REQUEST['display']) : (isset($_COOKIE['ECS']['display']) ? $_COOKIE['ECS']['display'] : $default_display_type); $display = in_array($display, array('list', 'grid', 'text')) ? $display : 'text'; setcookie('ECS[display]', $display, gmtime() + 86400 * 7); /*------------------------------------------------------ */ //-- PROCESSOR /*------------------------------------------------------ */ /* 椤甸潰鐨勭紦瀛業D */ $cache_id = sprintf('%X', crc32($cat_id . '-' . $display . '-' . $sort .'-' . $order .'-' . $page . '-' . $size . '-' . $_SESSION['user_rank'] . '-' . $_CFG['lang'] .'-'. $brand. '-' . $price_max . '-' .$price_min . '-' . $filter_attr_str)); if (!$smarty->is_cached('category.dwt', $cache_id)) { /* 濡傛灉椤甸潰娌?#37832;?#29722;紦瀛?#37714;?#38322;嶆柊鑾?#37721;栭?#30008;潰鐨勫唴瀹?*/ $children = get_children($cat_id); $cat = get_cat_info($cat_id); // 鑾峰緱鍒嗙被鐨勭浉鍏?#28103;?#37805;? if (!empty($cat)) { $smarty->assign('keywords', htmlspecialchars($cat['keywords'])); $smarty->assign('description', htmlspecialchars($cat['cat_desc'])); $smarty->assign('cat_style', htmlspecialchars($cat['style'])); } else { /* 濡傛灉鍒嗙被涓?#28699;?#37734;?#37714;?#26473;斿洖棣栭〉 */ ecs_header("Location: ./\n"); exit; } /* 璧嬪煎浐瀹氬唴瀹?*/ if ($brand > 0) { $sql = "SELECT brand_name FROM " .$GLOBALS['ecs']->table('brand'). " WHERE brand_id = '$brand'"; $brand_name = $db->getOne($sql); } else { $brand_name = ''; } /* 鑾?#37721;?#28000;锋牸鍒嗙骇 */ if ($cat['grade'] == 0 && $cat['parent_id'] != 0) { $cat['grade'] = get_parent_grade($cat_id); //濡傛灉褰?#37715;?#37714;嗙被?#39559;鍒?#28051;虹┖锛屽彇鏈杩戠殑涓婄骇鍒嗙被 } if ($cat['grade'] > 1) { /* 闇瑕?#28000;锋牸鍒嗙骇 */ /* 绠楁硶鎬濊矾锛? 1銆?#35120;?#37714;嗙骇澶?#27996;?鏃?#38171;?#26473;涜浠锋牸鍒嗙骇 2銆?#37721;栧嚭璇ョ被涓?#37727;嗗搧浠锋牸鐨?#37832;澶?#37706;?#37510;?#37832;灏忓? 3銆佹牴鎹?#37727;嗗搧浠锋牸鐨?#37832;澶?#37706;兼潵璁?#32480;?#37727;嗗搧浠锋牸鐨?#37714;嗙骇?#26271;閲忕骇锛? 浠锋牸鑼冨洿(涓嶅惈鏈澶?#37706;? 鍒嗙骇?#26271;閲忕骇 0-0.1 0.001 0.1-1 0.01 1-10 0.1 10-100 1 100-1000 10 1000-10000 100 4銆佽绠?#28000;锋牸?#27861;搴?#38171;? 鍙?#37825;?(鏈澶?#37706;?鏈灏忓? / (浠锋牸鍒嗙骇?#26271;) / ?#26271;閲忕骇) * ?#26271;閲忕骇 5銆佹牴鎹?#28000;锋牸?#27861;搴?#29825;?#32480;?#28000;锋牸鑼冨洿鍖?#38338;? 6銆佹煡璇㈡暟鎹?#25652;? 鍙?#38003;藉瓨鍦?#38338;?#26864;?#38171;? 1銆? 鐢?#27996;?#28000;锋牸?#27861;搴?#37828;?#37922;?#37832;澶?#37706;?#37510;?#37832;灏忓?#29825;?#32480;?#37713;烘潵鐨? 鐒跺?#24225;啀閫?#26473;?#28000;锋牸?#27861;搴︽潵纭?#28729;?#37828;?#32448;烘椂鐨?#28000;锋牸鑼冨洿鍖?#38338;? 鎵浠?#37721;?#38003;?#28028;?#28699;?#37734;?#28000;锋牸鍒嗙骇?#26271;閲?#28051;嶆纭?#37928;?#38338;?#26864;? 璇?#38338;?#26864;?#23052;?#37832;?#29831;?#37828;? 2銆? 褰?#28000;锋牸=鏈澶?#37706;?#37827;?#38171;?#37714;嗙骇浼氬?#27692;?#28888;潵锛屽凡琚?#29831;?#37828;庡瓨鍦? */ $sql = "SELECT min(g.shop_price) AS min, max(g.shop_price) as max ". " FROM " . $ecs->table('goods'). " AS g ". " WHERE ($children OR " . get_extension_goods($children) . ') AND g.is_delete = 0 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 '; //鑾峰緱褰?#37715;?#37714;嗙被涓?#37727;嗗搧浠锋牸鐨?#37832;澶?#37706;?#37510;?#37832;灏忓? $row = $db->getRow($sql); // 鍙栧緱浠锋牸鍒嗙骇鏈灏忓崟浣嶇骇?#26271;锛?#23011;?#28641;?#38171;屽崈鍏?#37727;嗗搧鏈灏?#28000;?00涓虹骇?#26271; $price_grade = 0.0001; for($i=-2; $i<= log10($row['max']); $i++) { $price_grade *= 10; } //?#27861;搴? $dx = ceil(($row['max'] - $row['min']) / ($cat['grade']) / $price_grade) * $price_grade; if($dx == 0) { $dx = $price_grade; } for($i = 1; $row['min'] > $dx * $i; $i ++); for($j = 1; $row['min'] > $dx * ($i-1) + $price_grade * $j; $j++); $row['min'] = $dx * ($i-1) + $price_grade * ($j - 1); for(; $row['max'] >= $dx * $i; $i ++); $row['max'] = $dx * ($i) + $price_grade * ($j - 1); $sql = "SELECT (FLOOR((g.shop_price - $row[min]) / $dx)) AS sn, COUNT(*) AS goods_num ". " FROM " . $ecs->table('goods') . " AS g ". " WHERE ($children OR " . get_extension_goods($children) . ') AND g.is_delete = 0 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 '. " GROUP BY sn "; $price_grade = $db->getAll($sql); foreach ($price_grade as $key=>$val) { $temp_key = $key + 1; $price_grade[$temp_key]['goods_num'] = $val['goods_num']; $price_grade[$temp_key]['start'] = $row['min'] + round($dx * $val['sn']); $price_grade[$temp_key]['end'] = $row['min'] + round($dx * ($val['sn'] + 1)); $price_grade[$temp_key]['price_range'] = $price_grade[$temp_key]['start'] . ' - ' . $price_grade[$temp_key]['end']; $price_grade[$temp_key]['formated_start'] = price_format($price_grade[$temp_key]['start']); $price_grade[$temp_key]['formated_end'] = price_format($price_grade[$temp_key]['end']); $price_grade[$temp_key]['url'] = build_uri('category', array('cid'=>$cat_id, 'bid'=>$brand, 'price_min'=>$price_grade[$temp_key]['start'], 'price_max'=> $price_grade[$temp_key]['end'], 'filter_attr'=>$filter_attr_str), $cat['cat_name']); /* 鍒ゆ柇浠锋牸鍖?#38338;?#37828;惁琚?#38315;?#28051;?*/ if (isset($_REQUEST['price_min']) && $price_grade[$temp_key]['start'] == $price_min && $price_grade[$temp_key]['end'] == $price_max) { $price_grade[$temp_key]['selected'] = 1; } else { $price_grade[$temp_key]['selected'] = 0; } } $price_grade[0]['start'] = 0; $price_grade[0]['end'] = 0; $price_grade[0]['price_range'] = $_LANG['all_attribute']; $price_grade[0]['url'] = build_uri('category', array('cid'=>$cat_id, 'bid'=>$brand, 'price_min'=>0, 'price_max'=> 0, 'filter_attr'=>$filter_attr_str), $cat['cat_name']); $price_grade[0]['selected'] = empty($price_max) ? 1 : 0; $smarty->assign('price_grade', $price_grade); } /* ?#25639;鐗?#32475;涢?*/ $sql = "SELECT b.brand_id, b.brand_name, COUNT(*) AS goods_num ". "FROM " . $GLOBALS['ecs']->table('brand') . "AS b, ". $GLOBALS['ecs']->table('goods') . " AS g LEFT JOIN ". $GLOBALS['ecs']->table('goods_cat') . " AS gc ON g.goods_id = gc.goods_id " . "WHERE g.brand_id = b.brand_id AND ($children OR " . 'gc.cat_id ' . db_create_in(array_unique(array_merge(array($cat_id), array_keys(cat_list($cat_id, 0, false))))) . ") AND b.is_show = 1 " . " AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ". "GROUP BY b.brand_id HAVING goods_num > 0 ORDER BY b.sort_order, b.brand_id ASC"; $brands = $GLOBALS['db']->getAll($sql); foreach ($brands AS $key => $val) { $temp_key = $key + 1; $brands[$temp_key]['brand_name'] = $val['brand_name']; $brands[$temp_key]['url'] = build_uri('category', array('cid' => $cat_id, 'bid' => $val['brand_id'], 'price_min'=>$price_min, 'price_max'=> $price_max, 'filter_attr'=>$filter_attr_str), $cat['cat_name']); /* 鍒ゆ柇?#25639;鐗?#37828;惁琚?#38315;?#28051;?*/ if ($brand == $brands[$key]['brand_id']) { $brands[$temp_key]['selected'] = 1; } else { $brands[$temp_key]['selected'] = 0; } } $brands[0]['brand_name'] = $_LANG['all_attribute']; $brands[0]['url'] = build_uri('category', array('cid' => $cat_id, 'bid' => 0, 'price_min'=>$price_min, 'price_max'=> $price_max, 'filter_attr'=>$filter_attr_str), $cat['cat_name']); $brands[0]['selected'] = empty($brand) ? 1 : 0; $smarty->assign('brands', $brands); /* 灞?#37804;?#32475;涢?*/ $ext = ''; //鍟嗗搧?#29025;璇?#37833;?#28000;?#37813;?#28766;? if ($cat['filter_attr'] > 0) { $cat_filter_attr = explode(',', $cat['filter_attr']); //?#24385;鍙栧?#28888;鍒嗙被鐨勭?#28066;?#28766;?#37804;? $all_attr_list = array(); foreach ($cat_filter_attr AS $key => $value) { $sql = "SELECT a.attr_name FROM " . $ecs->table('attribute') . " AS a, " . $ecs->table('goods_attr') . " AS ga, " . $ecs->table('goods') . " AS g WHERE ($children OR " . get_extension_goods($children) . ") AND a.attr_id = ga.attr_id AND g.goods_id = ga.goods_id AND g.is_delete = 0 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND a.attr_id='$value'"; if($temp_name = $db->getOne($sql)) { $all_attr_list[$key]['filter_attr_name'] = $temp_name; $sql = "SELECT a.attr_id, MIN(a.goods_attr_id ) AS goods_id, a.attr_value AS attr_value FROM " . $ecs->table('goods_attr') . " AS a, " . $ecs->table('goods') . " AS g" . " WHERE ($children OR " . get_extension_goods($children) . ') AND g.goods_id = a.goods_id AND g.is_delete = 0 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 '. " AND a.attr_id='$value' ". " GROUP BY a.attr_value"; $attr_list = $db->getAll($sql); $temp_arrt_url_arr = array(); for ($i = 0; $i < count($cat_filter_attr); $i++) //鑾?#37721;?#35120;?#37715;島rl涓?#23480;?#38315;夋嫨灞?#37804;?#37928;勫?#38171;屽苟淇濈暀鍦ㄦ暟缁?#28051;? { $temp_arrt_url_arr[$i] = !empty($filter_attr[$i]) ? $filter_attr[$i] : 0; } $temp_arrt_url_arr[$key] = 0; //鈥?#37711;?#38318;?#37413;濈殑淇?#37805;?#37922;熸垚 $temp_arrt_url = implode('.', $temp_arrt_url_arr); $all_attr_list[$key]['attr_list'][0]['attr_value'] = $_LANG['all_attribute']; $all_attr_list[$key]['attr_list'][0]['url'] = build_uri('category', array('cid'=>$cat_id, 'bid'=>$brand, 'price_min'=>$price_min, 'price_max'=>$price_max, 'filter_attr'=>$temp_arrt_url), $cat['cat_name']); $all_attr_list[$key]['attr_list'][0]['selected'] = empty($filter_attr[$key]) ? 1 : 0; foreach ($attr_list as $k => $v) { $temp_key = $k + 1; $temp_arrt_url_arr[$key] = $v['goods_id']; //涓簎rl涓?#28000;?#29723;?#35120;?#37715;嶇?#28066;?#28766;?#37804;?#37928;?#28003;?#32515;?#37721;?#38322;?#29863;嬪??#33503;鐢熸垚浠?#37413;?鈥?#37714;?#38341;?#37928;勭?#28066;?#28766;?#37804;?#28699;?#32471;?#28051;? $temp_arrt_url = implode('.', $temp_arrt_url_arr); $all_attr_list[$key]['attr_list'][$temp_key]['attr_value'] = $v['attr_value']; $all_attr_list[$key]['attr_list'][$temp_key]['url'] = build_uri('category', array('cid'=>$cat_id, 'bid'=>$brand, 'price_min'=>$price_min, 'price_max'=>$price_max, 'filter_attr'=>$temp_arrt_url), $cat['cat_name']); if (!empty($filter_attr[$key]) AND $filter_attr[$key] == $v['goods_id']) { $all_attr_list[$key]['attr_list'][$temp_key]['selected'] = 1; } else { $all_attr_list[$key]['attr_list'][$temp_key]['selected'] = 0; } } } } $smarty->assign('filter_attr_list', $all_attr_list); /* 鎵?#28766;?#37727;嗗搧?#29025;璇?#37833;?#28000;?*/ if (!empty($filter_attr)) { $ext_sql = "SELECT DISTINCT(b.goods_id) FROM " . $ecs->table('goods_attr') . " AS a, " . $ecs->table('goods_attr') . " AS b " . "WHERE "; $ext_group_goods = array(); foreach ($filter_attr AS $k => $v) // ?#29025;鍑虹鍚堟墍鏈?#32475;涢?#28766;?#37804;?#37833;?#28000;?#37928;?#37727;嗗搧id */ { if (is_numeric($v) && $v !=0 &&isset($cat_filter_attr[$k])) { $sql = $ext_sql . "b.attr_value = a.attr_value AND b.attr_id = " . $cat_filter_attr[$k] ." AND a.goods_attr_id = " . $v; $ext_group_goods = $db->getColCached($sql); $ext .= ' AND ' . db_create_in($ext_group_goods, 'g.goods_id'); } } } } assign_template('c', array($cat_id)); $position = assign_ur_here($cat_id, $brand_name); $smarty->assign('page_title', $position['title']); // 椤甸潰鏍?#26864;? $smarty->assign('ur_here', $position['ur_here']); // 褰?#37715;?#28003;?#32515;? $smarty->assign('categories', get_categories_tree($cat_id)); // 鍒嗙被鏍? $smarty->assign('article_categories', article_categories_tree($cat_id)); //鏂囩珷鍒嗙被鏍? $smarty->assign('helps', get_shop_help()); // 缃?#25652;楀府鍔? $smarty->assign('top_goods', get_top10()); // ?#25890;鍞?#37818;?#29723;? $smarty->assign('show_marketprice', $_CFG['show_marketprice']); $smarty->assign('category', $cat_id); $smarty->assign('brand_id', $brand); $smarty->assign('price_max', $price_max); $smarty->assign('price_min', $price_min); $smarty->assign('filter_attr', $filter_attr_str); $smarty->assign('feed_url', ($_CFG['rewrite'] == 1) ? "feed-c$cat_id.xml" : 'feed.php?cat=' . $cat_id); // RSS URL if ($brand > 0) { $arr['all'] = array('brand_id' => 0, 'brand_name' => $GLOBALS['_LANG']['all_goods'], 'brand_logo' => '', 'goods_num' => '', 'url' => build_uri('category', array('cid'=>$cat_id), $cat['cat_name']) ); } else { $arr = array(); } $brand_list = array_merge($arr, get_brands($cat_id, 'category')); $smarty->assign('data_dir', DATA_DIR); $smarty->assign('brand_list', $brand_list); $smarty->assign('promotion_info', get_promotion_info()); /* 璋冩煡 */ $vote = get_vote(); if (!empty($vote)) { $smarty->assign('vote_id', $vote['id']); $smarty->assign('vote', $vote['content']); } $smarty->assign('best_goods', get_category_recommend_goods('best', $children, $brand, $price_min, $price_max, $ext)); $smarty->assign('promotion_goods', get_category_recommend_goods('promote', $children, $brand, $price_min, $price_max, $ext)); $smarty->assign('hot_goods', get_category_recommend_goods('hot', $children, $brand, $price_min, $price_max, $ext)); $count = get_cagtegory_goods_count($children, $brand, $price_min, $price_max, $ext); $max_page = ($count> 0) ? ceil($count / $size) : 1; if ($page > $max_page) { $page = $max_page; } $goodslist = category_get_goods($children, $brand, $price_min, $price_max, $ext, $size, $page, $sort, $order); /*print_R($goodslist);*/ if($display == 'grid') { if(count($goodslist) % 2 != 0) { $goodslist[] = array(); } } $smarty->assign('goods_list', $goodslist); $smarty->assign('category', $cat_id); $smarty->assign('script_name', 'category'); assign_pager('category', $cat_id, $count, $size, $sort, $order, $page, '', $brand, $price_min, $price_max, $display, $filter_attr_str); // 鍒?#26916;? assign_dynamic('category'); // 鍔?#37804;佸唴瀹? } /*jdy add 0816 娣?#37716;?#26851;栭〉骞荤伅鎻?#28000;?/ $smarty->assign("flash",get_flash_xml()); $smarty->assign('flash_count',count(get_flash_xml())); $smarty->display('category.dwt', $cache_id); /*------------------------------------------------------ */ //-- PRIVATE FUNCTION /*------------------------------------------------------ */ /** * 鑾峰緱鍒嗙被鐨?#28103;?#37805;? * * @param integer $cat_id * * @return void */ function get_cat_info($cat_id) { return $GLOBALS['db']->getRow('SELECT cat_name, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cat_id'"); } /** * 鑾峰緱鍒嗙被涓?#37928;?#37727;嗗搧 * * @access public * @param string $children * @return array */ function category_get_goods($children, $brand, $min, $max, $ext, $size, $page, $sort, $order) { $display = $GLOBALS['display']; $where = "g.is_on_sale = 1 AND g.is_alone_sale = 1 AND ". "g.is_delete = 0 AND ($children OR " . get_extension_goods($children) . ')'; if ($brand > 0) { $where .= "AND g.brand_id=$brand "; } if ($min > 0) { $where .= " AND g.shop_price >= $min "; } if ($max > 0) { $where .= " AND g.shop_price <= $max "; } /* 鑾峰緱鍟嗗搧鍒?#29723;?*/ $sql = 'SELECT g.goods_id, g.goods_name, g.goods_sn, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ' . "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, g.promote_price, g.goods_type, " . 'g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ' . 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . ' AS mp ' . "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' " . "WHERE $where $ext ORDER BY $sort $order"; $res = $GLOBALS['db']->selectLimit($sql, $size, ($page - 1) * $size); $arr = array(); while ($row = $GLOBALS['db']->fetchRow($res)) { if ($row['promote_price'] > 0) { $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']); } else { $promote_price = 0; } /* 澶勭悊鍟嗗搧姘村?#26495;浘鐗?*/ $watermark_img = ''; if ($promote_price != 0) { $watermark_img = "watermark_promote_small"; } elseif ($row['is_new'] != 0) { $watermark_img = "watermark_new_small"; } elseif ($row['is_best'] != 0) { $watermark_img = "watermark_best_small"; } elseif ($row['is_hot'] != 0) { $watermark_img = 'watermark_hot_small'; } if ($watermark_img != '') { $arr[$row['goods_id']]['watermark_img'] = $watermark_img; } $arr[$row['goods_id']]['goods_id'] = $row['goods_id']; if($display == 'grid') { $arr[$row['goods_id']]['goods_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ? sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name']; } else { $arr[$row['goods_id']]['goods_name'] = $row['goods_name']; } $arr[$row['goods_id']]['name'] = $row['goods_name']; $arr[$row['goods_id']]['goods_sn'] = $row['goods_sn']; $arr[$row['goods_id']]['goods_brief'] = $row['goods_brief']; $arr[$row['goods_id']]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']); $arr[$row['goods_id']]['market_price'] = price_format($row['market_price']); $arr[$row['goods_id']]['shop_price'] = price_format($row['shop_price']); $arr[$row['goods_id']]['type'] = $row['goods_type']; $arr[$row['goods_id']]['promote_price'] = ($promote_price > 0) ? price_format($promote_price) : ''; $arr[$row['goods_id']]['goods_thumb'] = get_image_path($row['goods_id'], $row['goods_thumb'], true); $arr[$row['goods_id']]['goods_img'] = get_image_path($row['goods_id'], $row['goods_img']); $arr[$row['goods_id']]['url'] = build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']); } return $arr; } /** * 鑾峰緱鍒嗙被涓?#37928;?#37727;嗗搧鎬绘暟 * * @access public * @param string $cat_id * @return integer */ function get_cagtegory_goods_count($children, $brand = 0, $min = 0, $max = 0, $ext='') { $where = "g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 AND ($children OR " . get_extension_goods($children) . ')'; if ($brand > 0) { $where .= " AND g.brand_id = $brand "; } if ($min > 0) { $where .= " AND g.shop_price >= $min "; } if ($max > 0) { $where .= " AND g.shop_price <= $max "; } /* 杩斿洖鍟嗗搧鎬绘暟 */ return $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' . $GLOBALS['ecs']->table('goods') . " AS g WHERE $where $ext"); } /** * 鍙栧緱鏈杩戠殑涓婄骇鍒嗙被鐨刧rade鍊? * * @access public * @param int $cat_id //褰?#37715;嶇殑cat_id * * @return int */ function get_parent_grade($cat_id) { static $res = NULL; if ($res === NULL) { $data = read_static_cache('cat_parent_grade'); if ($data === false) { $sql = "SELECT parent_id, cat_id, grade ". " FROM " . $GLOBALS['ecs']->table('category'); $res = $GLOBALS['db']->getAll($sql); write_static_cache('cat_parent_grade', $res); } else { $res = $data; } } if (!$res) { return 0; } $parent_arr = array(); $grade_arr = array(); foreach ($res as $val) { $parent_arr[$val['cat_id']] = $val['parent_id']; $grade_arr[$val['cat_id']] = $val['grade']; } while ($parent_arr[$cat_id] >0 && $grade_arr[$cat_id] == 0) { $cat_id = $parent_arr[$cat_id]; } return $grade_arr[$cat_id]; } function get_flash_xml() { $flashdb = array(); if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml')) { // 鍏?#28729;箆2.7.0鍙?#28000;?#37715;?#37911;堟湰 if (!preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"\ssort="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER)) { preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER); } if (!empty($t)) { foreach ($t as $key => $val) { $val[4] = isset($val[4]) ? $val[4] : 0; $flashdb[] = array('src'=>$val[1],'url'=>$val[2],'text'=>$val[3],'sort'=>$val[4]); //print_r($flashdb); } } } return $flashdb; } ?> 北京赛车跨度去一尾
购买股票的手续费 股票交易佣金 股票行情大盘走势,今日大盘行情 上海股票配资 当前上证指数 股票型基金 配资门户 股票涨跌行情中心 关于基金配资的规定 股票配资推荐丶卓信宝配资