>$sqlcomm = "select idut, nomeut, emailut, ml, prov, regione, idw3k
from w3kutenti
left join w3ksermig on idut = idw3k
where nomeut like '%$nomeut%'
and emailut like '%$emailut%'
and ml <> ''
and ml like '%$ml%'
and prov like '%$provincia%'
and regione like '%$regione%'
order by nomeut";
>where ... prov e regione. Questi sono due campi della tabella tabb >per cui se non sono presenti record in tabb il where assume tutto >come FALSE e questo viene applicato anche alla taba.
Ok, per il campo "ml" in effetti hai ragione, basta che cancello "ml <> ''" in quanto compresa nella AND successiva.
Per quanto riguarda invece prov e regione, mettendo nella where la condizione "like '%campo%'" se il campo e' vuoto, la select restituisce TRUE in quanto lui accetta il controllo per vuoto cioe'
'%%' . E' una tecnica che uso da sempre per fare appunto per fare una select sola a fronte ad es. di un form di ricerca.
Perche' qui non funziona ? Se $provincia e' vuoto, lui dovrebbe restituire true perche' il controllo e' LIKE '%%'. Non e' cosi' ?
Tutto questo cinema di due tabelle e' nato perche' non posso toccare la tab a per aggiungere i campi che ho messo nella tab b, in quanto intervengo su una procedura PHP/Mysql non mia aggiungendo appunto alcuni campi.
La select in questione, senza la join e la presenza di tab b e dei suoi campi funziona da parecchio.
Ti chiedo: non vedi soluzioni per poter utilizzare una sola select per fare una ricerca omnicomprensiva su tutti i campi delle due tabelle, che raccoglie i suoi dati da un form di ricerca precedente ?
Che soluzioni ci sono secondo te ?
Grazie
Gianni