Buon giorno, volevo sapere come ottimizzare la mia query in base ad alcuni controlli che effettuo prima di eseguirla(la query).
questo è il codice:
codice:
if($cod_immo=="" && $rapp_giuri==""){
echo "Non puoi effettuare la ricerca senza riempire i campi!!";
exit;
}
elseif(preg_match("/[§ç!°£$%&\|\/\(\)=\?\^\[\]\+\*#-\.@,;:]/i",$cod_immo)
|| preg_match("/[§ç!°£$%&\|\/\(\)=\?\^\[\]\+\*#-\.@,;:]/i",$rapp_giuri)){
echo "Non puoi inserire questi caratteri per la tua ricerca!!";
exit;
}
else{
if($rapp_giuri!=""){
$risultato = mysql_query("SELECT distinct AVV_RG,AVV_MATRICOLA,AVV_MSG FROM TABAVV0511 where AVV_RG ='$rapp_giuri'") or die ("Non è possibile eseguire la Select : " . mysql_error());
}
elseif($cod_immo!=""){
$risultato = mysql_query("SELECT distinct AVV_RG,AVV_MATRICOLA,AVV_MSG FROM TABAVV0511 where AVV_MATRICOLA ='$cod_immo'") or die ("Non è possibile eseguire la Select : " . mysql_error());
}
elseif($rapp_giuri!="" && $cod_immo!=""){
$risultato = mysql_query("SELECT distinct AVV_RG,AVV_MATRICOLA,AVV_MSG FROM TABAVV0511 where AVV_RG ='$rapp_giuri' AND AVV_MATRICOLA ='$cod_immo'") or die ("Non è possibile eseguire la Select : " . mysql_error());
}
}
Quello che chiedo è,come posso evitare di scrivere sempre la select per intero?
vorrei fare qualcosa di questo tipo:
codice:
$risultato = mysql_query("SELECT DISTINCT AVV_RG,AVV_MATRICOLA,AVV_MSG FROM TABAVV0511 ") or die ("Non è possibile eseguire la Select : " . mysql_error());
//..inizio
//if (controllo 1){
$risultato.= (" where AVV_RG ='$rapp_giuri' ");
}
//elseif(controllo 2){
$risultato.= (" where AVV_MATRICOLA ='$cod_immo' ");
}
//elseif(controllo 3){
$risultato.= (" where AVV_RG ='$rapp_giuri' and AVV_MATRICOLA ='$cod_immo'");
}
//else{
}
//....fine
Spero di essermi spiegato.Grazie mille...