/** * Function to create a DB object that holds all information * from the attribute tables about item $item_id AND/OR product $product_id * * @param int $item_id The product_id of the item * @param int $product_id The product_id of the parent product * @param string $attribute_name The name of the attribute to filter * @return ps_DB The db object... */ function attribute_sql($item_id="",$product_id="",$attribute_name="") { $db = new ps_DB; if ($item_id and $product_id) { $q = "SELECT * FROM #__{vm}_product_attribute,#__{vm}_product_attribute_sku "; $q .= "WHERE #__{vm}_product_attribute.product_id = '$item_id' "; $q .= "AND #__{vm}_product_attribute_sku.product_id ='$product_id' "; if ($attribute_name) { $q .= "AND #__{vm}_product_attribute.attribute_name = $attribute_name "; } $q .= "AND #__{vm}_product_attribute.attribute_name = "; $q .= "#__{vm}_product_attribute_sku.attribute_name "; $q .= "ORDER BY attribute_list,#__{vm}_product_attribute.attribute_name"; } elseif ($item_id) { $q = "SELECT * FROM #__{vm}_product_attribute "; $q .= "WHERE product_id=$item_id "; if ($attribute_name) { $q .= "AND attribute_name = '$attribute_name' "; } } elseif ($product_id) { $q = "SELECT * FROM #__{vm}_product_attribute_sku "; $q .= "WHERE product_id =".(int)$product_id.' '; if ($attribute_name) { $q .= "AND #__{vm}_product_attribute.attribute_name = $attribute_name "; } $q .= "ORDER BY attribute_list,attribute_name"; } else { /* Error: no arguments were provided. */ return 0; } $db->setQuery($q); $db->query(); return $db; }