Buongiorno a tutti,
chiedo cortesemente il vostro aiuto.
Ho una tabella GENERALE che tra i vari campi ha anche i campi REGIONI, PROVINCE, COMUNI.
Ho poi tre tabelle con i seguenti campi:
REGIONI (id, nome)
PROVINCE (id, id_regione, nome)
COMUNI (id, id_provincia, nome)
Ho una form dove tra i vari dati inserisco quindi anche i dati della regione provincia e comune.
Nella mia form di ricerca, ho una sorta di ricerca "avanzata", ovvero 3 campi con 3 oggetti di ricerca differenti che possono essere completati tutti o parzialmente per rendere piu precisa la ricerca, per esempio, nella form di ricerca ho:
1) il campo nome struttura
2) il campo regione struttura
3) il campo provincia struttura
l'utente può ricercare:
1) per nome struttura e basta
2) oppure per nome struttura e regione struttura (e non anche per città struttura)
3) oppure per regione e città (senza scrivere nulla su nome struttura per vedere l'elenco di tutte le strutture all'interno di quella regione/città), etc etc..
Per far questo ho definito uan variabile "dinamica":
Codice PHP:
$q = " select ....";
$q .= " from ....";
E poi ho definito questa condizione:
Codice PHP:
if ( isset ( $_POST['regioni'] ) && trim ( $_POST['regioni'] ) != '' ) {
$q .= " and recensioni.regioni like '" . $_POST['regioni'] . "%'";
}
Funziona tutto, ma ho altre 2 if che andrebbero aggiunte e che, se sono attive, ovvero se l'utente seleziona anche quel campo in ricerca, dovrebbero modificare ulteriormente la variabile $q . AGGIUNGENDO la seconda istruzione alla prima già aggiunta precedentemente, ma attualmente facendo queste 3 if di file ognuna va in sostituzione dell'altra:
Codice PHP:
if ( isset ( $_POST['regioni'] ) && trim ( $_POST['regioni'] ) != '' ) {
$q .= " and recensioni.regioni like '" . $_POST['regioni'] . "%'";
}
if ( isset ( $_POST['province'] ) && trim ( $_POST['province'] ) != '' ) {
$q .= " and recensioni.province like '" . $_POST['province'] . "%'";
}
if ( isset ( $_POST['comuni'] ) && trim ( $_POST['comuni'] ) != '' ) {
$q .= " and recensioni.comuni like '" . $_POST['comuni'] . "%'";
}
Mi potete aiutare?
Grazie!