if (arg(1) != '' && arg(2) != '' && arg(3) != '' && arg(4) != '' && arg(5) != '') { $query = "SELECT {node}.nid, {node}.title FROM {node} "; $where = array(); $joins = array(); switch (TRUE){ case (arg(1) != '-1' && arg(2) == '-1'): $child = taxonomy_get_children(intval(arg(1))); foreach ($child as $childo){ $children[]=$childo->tid; } $child = implode(",",$children); $where[] = " {term_node}.tid IN ('".$child."')"; $joins[0] = "Inner Join {term_node} ON {node}.nid = {term_node}.nid"; break; case (arg(1) != '-1' && arg(2) != '-1'): $where[] = " {term_node}.tid = '".intval(arg(2))."'"; $joins[0] = "Inner Join {term_node} ON {node}.nid = {term_node}.nid"; break; case (arg(3) != '-1'): $where[] = " {content_type_cars}.field_year_value = '".intval(arg(3))."'"; $joins[1] = "Inner Join {content_type_cars} ON {node}.nid = {content_type_cars}.nid"; break; case (arg(4) != '-1'): $where[] = " {content_type_cars}.field_type_value = '".intval(arg(4))."'"; $joins[1] = "Inner Join {content_type_cars} ON {node}.nid = {content_type_cars}.nid"; break; case (arg(5) != '-1'): $where[] = " {content_type_cars}.field_enigne_size_value = '".intval(arg(5))."'"; $joins[1] = "Inner Join {content_type_cars} ON {node}.nid = {content_type_cars}.nid"; break; } $output .= drupal_get_form('_find_cars_search_lalblock_advanced_form')." Advanced car Search"; } $joins = implode(" ", $joins); $where = implode(" AND ", $where); $query .= $joins; $query .= $where; print($query);