Con il codice che hai postato farei cosi
Codice PHP:
<?php
private $compare = array(
"uguale a" => "=",
"diverso da" => "NOT LIKE",
"minore di" => "<",
"maggiore di" => ">",
"minore di o uguale a" => "<=",
"maggiore di o uguale a" => ">=",
"contiene" => 'LIKE',
"inizia con" => "ILIKE"
"finisce per" => "FLIKE"
);
echo "<select name=voce$var size=1>";
//le varie option
foreach ($compare as $num => $val) {
echo "<option value=$val>$num</option>";
}
echo "</select>";
?>
<?php
if (isset($_POST['input1'])) {
if ($_POST['comparazione1'] == 'LIKE') {
$query .= " AND " . $this->voce1 . " " . $this->comparazione1 . " '%$this->input1%'";
} else{
if ($_POST['comparazione1'] == 'ILIKE') {
$query .= " AND " . $this->voce1 . " " . " LIKE " . " '%$this->input1'";
} else {
if ($_POST['comparazione1'] == 'FLIKE') {
$query .= " AND " . $this->voce1 . " " . " LIKE ". " '$this->input1%'";
} else {
$query .= " AND " . $this->voce1 . " " . $this->comparazione1 . " '$this->input1'";
}
}
}
}
?>
Pero' se dovessi fare una cosa simile farei altimenti. Posso sbagliare, ma il tuo codice mi sembra vulnerabile alla sql injection.