Codice PHP:
//Verifica i dati della form
$Ente trim($_POST['Ente']);
$Tipo trim($_POST['Tipo']);
//Converte i caratteri speciali
$Ente htmlspecialchars($Ente);
$NomeStr trim($_POST['Nome']);
$Sesso trim($_POST['Sesso']);
if (
$Sesso=="M") {
$M2 "t1.M = '1' AND ";
} elseif (
$Sesso=="F") {
$F2 "t1.F = '1' AND ";
}
$Eta trim($_POST['Eta']);
if (
$Eta=="tutte") {
$Eta2 "(t1.Eta = '$Eta' OR t1.Eta != '$Eta') AND";
} elseif (
$Eta=="Da 18 anni in poi" OR $Eta 18) {
$Eta2 "(t1.Eta = 'Da 18 anni in poi' OR t1.Eta = 'tutte' OR t1.Eta LIKE '%21%' OR t1.Eta LIKE '%19%' OR t1.Eta LIKE '%20%' OR t1.Eta LIKE '%22%' OR t1.Eta LIKE '%23%') AND";
}
$Provincia trim($_POST['Provincia']);
if (
$Provincia!="Tutte") {
$Provincia2 "AND t2.Provincia = '$Provincia'";
}
$Handicap trim($_POST['Handicap']);
$Handicap2 "t1.Handicap = '$Handicap' AND";
$Comportamento trim($_POST['Comportamento']);
$Comportamento2 "t1.Comportamento = '$Comportamento'";
$Intervento trim($_POST['Intervento']);
if (
$Intervento!="Tutte") {
$Intervento2 "AND t1.Area = '$Intervento'";
}
$Madre trim($_POST['Madre']);
$Maltrattata trim($_POST['Maltrattata']);
if (
$Madre=="1" AND $Maltrattata=="1") {
$Donne "AND (t2.Tipo = '5' OR t2.Tipo = '9')";
} elseif (
$Madre=="1" AND $Maltrattata=="0") {
$Donne "AND t2.Tipo = '5'";
} elseif (
$Madre=="0" AND $Maltrattata=="1") {
$Donne "AND t2.Tipo = '9'";
} elseif (
$Madre=="0" AND $Maltrattata=="0") {
$Donne "";
}

if (
$NomeStr!="") {
$where "t2.Nome LIKE '%$NomeStr%'";
} else {
$where "$M2 $F2 $Eta2 $Handicap2 $Comportamento2 $Intervento2 $Provincia2 $Donne";
}

//Strutture
$query "SELECT t2.ID as IDStruttRic, t2.Nome as NomeStruttRic, t2.Url as UrlStruttRic, t2.Tipo as TipoStruttRic, t1.Eta as EtaStrutt FROM strutture as t2 JOIN dati_strutt as t1 ON t2.ID = t1.Struttura WHERE $where ORDER BY t2.Nome";
$result mysql_query($query$db);
$Dati_Trovati mysql_num_rows($result);

$query4 "SELECT * FROM provincie WHERE ID = '$Provincia'";
$result4 mysql_query($query4$db);
$row4 mysql_fetch_array($result4);
$EnteProvincia $row4["Provincia"];

if (
$Provincia=="Tutte") {
$Provincia3 "Tutte";
} else {
$Provincia3 $EnteProvincia;
}
if (
$Madre=="1") {
$Madre3 "Si";
} else {
$Madre3 "No";
}
if (
$Maltrattata=="1") {
$Maltrattata3 "Si";
} else {
$Maltrattata3 "No";
}
if (
$Handicap=="1") {
$Handicap3 "Si";
} else {
$Handicap3 "No";
}
if (
$Comportamento=="1") {
$Comportamento3 "Si";
} else {
$Comportamento3 "No";
}

$query3 "INSERT INTO ricerche2 (Sesso,Eta,Provincia,Handicap,Area,Nome,Risultati,Comportamento,Madre,Maltrattata,Ente,Tipo,Data) VALUES ('$Sesso', '$Eta', '$Provincia3', '$Handicap3', '$Intervento', '$NomeStr', '$Dati_Trovati', '$Comportamento3', '$Madre3', '$Maltrattata3', '$Ente', '$Tipo', Now())";
$result3 mysql_query($query3$db);

if (
$Dati_Trovati==OR $Sesso=="" OR $Eta=="" OR $Handicap=="" OR $Intervento=="" OR $Provincia=="") {
echo 
"<center>
[b]Non ci sono risultati[/b]



<a href=\"javascript:history.back()\">Indietro</a>
</center>"
;
} else {
while(
$row mysql_fetch_array($result)) {
$IDStruttRic $row["IDStruttRic"];
$NomeStruttRic $row["NomeStruttRic"];
$UrlStruttRic $row["UrlStruttRic"];
$TipoStruttRic $row["TipoStruttRic"];
$EtaStrutt $row["EtaStrutt"];
$EtaStrutt2 strstr($EtaStrutt'19');
$EtaStrutt3 strstr($EtaStrutt'20');
$EtaStrutt4 strstr($EtaStrutt'21');
$EtaStrutt5 strstr($EtaStrutt'22');
$EtaStrutt6 strstr($EtaStrutt'23');

if ((
$EtaStrutt!="tutte" AND $EtaStrutt!="Da 18 anni in poi" AND $EtaStrutt2==true AND $EtaStrutt3==true AND $EtaStrutt4==true AND $EtaStrutt5==true AND $EtaStrutt6==true) OR ($Sesso=="M" AND ($TipoStruttRic=="5" OR $TipoStruttRic=="9"))) {
$Eta3 explode(" - "$EtaStrutt);
$min $Eta3[0];
$max $Eta3[1];
}

if (((
is_numeric($Eta) AND $Eta $min OR $Eta $max) AND ($Eta!="tutte" AND $Eta!="Da 18 anni in poi" AND $EtaStrutt2==true AND $EtaStrutt3==true AND $EtaStrutt4==true AND $EtaStrutt5==true AND $EtaStrutt6==true) AND $NomeStr=="") OR ($Sesso=="M" AND ($TipoStruttRic=="5" OR $TipoStruttRic=="9"))) {

} elseif ((
is_numeric($Eta) AND $Eta >= $min AND $Eta <= $max AND $NomeStr=="") OR (($Eta=="tutte" OR $Eta=="Da 18 anni in poi" OR $EtaStrutt2==false OR $EtaStrutt3==false OR $EtaStrutt4==false OR $EtaStrutt5==false OR $EtaStrutt6==false) AND $NomeStr=="") OR $NomeStr!="") {

//Se l'url è indicato aggiunge il link altrimenti si linka alla pagina interna
if ($UrlStrutt!="") {
echo 
"[*]<a href=\"$UrlStruttRic\" target=\"_blank\">$NomeStruttRic</a>[*]
"
;
} else {
echo 
"[*]<a href=\"pag.php?Pag=struttura&Struttura=$IDStruttRic\">$NomeStruttRic</a>
"
;
}
}
}


Lo so che la ricerca è un pò, molto, macchinosa, ma purtroppo le codizioni quelle devono essere. Il problema mi nasce se metto l'età da 0 a 5, per es. 2, mi da' anche le strutture da 6 anni in su, per es. 6 - 11, quindi non rispetta $min e $max. Se qualcuno ci capisce può aiutarmi? Thanks