:codice_" . $i . " AND codice NOT LIKE :no_codice_" . $i . ") AND "; } } $esclusioni = substr($esclusioni,0,-5); $esclusioni .= ")"; } $condizione = "( "; $return = suddivisione_pdo($text,"b_cpv.codice"); if (is_array($return)) { $condizione .= $return["sql"] . " OR "; $bind = array_merge($bind,$return["bind"]); } $return = suddivisione_pdo($text,"b_cpv.".$lingua); if (is_array($return)) { $condizione .= $return["sql"]; $bind = array_merge($bind,$return["bind"]); } $condizione .= ") "; if(! empty($_GET["minlength"])) { $condizione .= " AND LENGTH(codice) >= :minlength "; $bind[":minlength"] = $_GET["minlength"]; } if(! empty($_GET["macro"])) { $condizione .= " AND codice LIKE :macro AND LENGTH(codice) >= :minlength "; $bind[":macro"] = "{$_GET["macro"]}%"; $bind[":minlength"] = $_GET["minlength"]; } $strsql = "SELECT *, b_cpv.{$lingua} AS descrizione FROM b_cpv "; $strsql.= " WHERE {$condizione} {$esclusioni} "; $strsql.= " ORDER BY "; $strsql.= " LENGTH(codice), codice"; $risultato = $pdo->go($strsql,$bind); $rec = array(); if ($risultato->rowCount()>0) { while ($record = $risultato->fetch(PDO::FETCH_ASSOC)) { $rec[] = array("value"=>$record["codice"],"label"=>$record["codice"] . " - " . $record["descrizione"],"complete"=>$record["codice_completo"]); } } echo json_encode($rec); } ?>