ma se provassi a fare le cose semplici invece?! 
codice:
<?PHP
$where_clausole = "";
if ( isset($_POST['nome']) ) {
$nome = $_POST['nome'];
$where_clausole .= "AND nome LIKE '%$nome%' ";
}
if ( isset($_POST['citta']) ) {
$citta = $_POST['citta'];
$where_clausole .= "AND citta LIKE '%$citta%' ";
}
if ( isset($_POST['eta']) ) {
$eta = $_POST['eta'];
$where_clausole .= "AND eta LIKE '%$eta%' ";
}
$idconnessione = mysql_connect('localhost', 'username', 'password');
mysql_select_db('dbname');
$query = "
SELECT *
FROM pratica
WHERE id > 0 $where_clausole
";
$idquery = mysql_query($query, $idconnessione)
while ( $row = mysql_fetch_array($idquery, MYSQL_ASSOC) ) {
// ...
}
?>
ci ho messo, nella clausola WHERE, anche "id > 0" in modo da poterci aggiungere con più facilità il "$where_clausole" costruito...
cmq se non sbaglio difficilmente un motore di ricerca ti fà cercare qualcosa se non specifici niente dato che potrebbero esserci 100 milioni di tuple da cercare...e non sarebbe positivo