function GetProducts($catagorys, $includeSubcatagory, $brandname='', $specialoffer, $pagesize, $pageindex, $orderby){ $where = array(1); foreach($catagorys as $k=>$v){ $catIDsql='SELECT cat_id FROM sdb_goods_cat WHERE cat_name=\''.$v.'\' '; $cat_rs[]=$this->db->selectrow($catIDsql); } foreach($cat_rs as $k=>$v){ $cat_ids[] = $v['cat_id']; } if($includeSubcatagory){ $where[] = ' AND c.parent_id in('.implode(',',$cat_ids).') OR c.cat_id in ('.implode(',',$cat_ids).') '; }else{ $where[] = ' AND c.cat_id in ('.implode(',',$cat_ids).') '; } if($brandname){ $where[] = ' AND g.brand = \''.$brandname.'\' '; } if($specialoffer){ $where[] = ' AND g.iflimit = 1 OR g.is_groupbuy = \'true\' '; } switch($orderby){ case 0: $ob = ' g.uptime DESC'; break; case 1: $ob = ' g.uptime '; break; case 2: $ob = ' p.price DESC'; break; case 3: $ob = ' p.price '; break; case 4: $ob = ' g.buy_count DESC'; break; case 5: $ob = ' g.buy_count '; break; case 6: $ob = ' g.score DESC '; break; case 7: $ob = ' g.score '; break; } $sql='SELECT p.product_id,p.bn,p.name,g.cat_id,c.cat_name,p.price,p.mktprice,g.buy_count,g.score,g.uptime,g.thumbnail_pic,g.small_pic,g.big_pic,g.intro,g.params,g.supplier_id,g.score,g.last_modify,g.buy_count,g.store FROM sdb_goods as g,sdb_goods_cat as c,sdb_products as p WHERE g.goods_id=p.goods_id AND g.cat_id = c.cat_id AND 1='.implode(' ',$where).' ORDER BY '.$ob.' limit '.$pagesize*($pageindex-1).','.$pagesize*$pageindex; $result=$this->db->select($sql); if(!$result){ $result[0]=array(); } return $result; }