示例#1
0
 public static function queryCategories($cats)
 {
     $categs = '';
     if (!is_array($cats)) {
         $cats = urldecode($cats);
         $pos = strpos($cats, ',');
         if ($pos !== false) {
             $cats = explode(",", $cats);
         } else {
             $cats = array($cats);
         }
     }
     if ($cats[0] > 0) {
         foreach ($cats as $key => $val) {
             $categs .= $val . ',';
             $categs .= AdvSearch::categoriesLower($val);
         }
     }
     $displaycats = explode(",", $categs);
     array_pop($displaycats);
     $displaycategories = 'INNER JOIN `' . _DB_PREFIX_ . 'category_product` cp ON (p.id_product = cp.id_product ';
     if (count($displaycats) && $displaycats[0] > 0) {
         $i = 0;
         $ile = count($displaycats);
         foreach ($displaycats as $key => $val) {
             if ($ile - 1 == $i && $i != 0) {
                 $displaycategories .= ' || id_category =' . intval($val) . ') ';
             } elseif ($ile - 1 == $i && $i == 0) {
                 $displaycategories .= ' AND id_category=' . intval($val) . ' ';
             } else {
                 if ($ile > 0 && $i == 0) {
                     $displaycategories .= ' AND ( id_category =' . intval($val) . ' ';
                 } else {
                     $displaycategories .= ' || id_category =' . intval($val) . ' ';
                 }
             }
             $i++;
         }
     }
     $displaycategories .= ')';
     return $displaycategories;
 }