Originariamente inviato da Sebastian84 Adesso però se metto, ad esempio, tipologia = appartamento e zona = cinquale, quindi una ricerca con tutti i campi selezionati, mi restituisce questo errore:
../..

... non penso sia un errore irreparabile:
No, tranquillo era previsto; stamane avevo davvero poco tempo e poi è meglio che tu ora abbia verificato che fin qui ci siamo.
È perché così il risultato della ricomposizione è una query con due WHERE:

$strsql = mysql_query("SELECT rif, descrizione FROM dbimmobili WHERE tipologia='appartamento' WHERE zona='cinquale'");

mentre dobbiamo averlo solo per il primo, e poi AND per i successivi.

Eh già, ma come facciamo a sapere quale sarà il primo select non-generico, e se poi l' utente uno ne salta e uno ne sceglie ... non so mica se si potrà fare.


Vabbé via, voglio essere magnanimo, fammi sapere se funziona; ho portato in alto le variabili che raccolgono i Valori dal POST:

Codice PHP:
$tipologia1 $_POST['Tipologia'];
$zona1 $_POST['Zona'];

    if(
$tipologia1 == '') {
       
$tipologia '';
} else {
       
$tipologia " WHERE tipologia = '" $tipologia1 "'";
};

    if(
$zona1 == '') {
       
$zona '';
} else {
       if(
$tipologia == '') {$clausola="WHERE";} else {$clausola="AND";};
       
$zona " " $clausola " zona = '" $zona1 "'";
};

$strsql mysql_query("
SELECT rif, descrizione FROM dbimmobili" 
$tipologia "" $zona "
"
); 

Negli if-step dopo il primo, inserirai un ulteriore if-statement che verifica se i precedenti hanno lasciato qualcosa ...
Per il terzo sarà:

if($tipologia == '' && $zona == '') {$clausola="WHERE";} else {$clausola="AND";};