ciao non ho aspettato la tua risposta
non posso provare il form perchè non ho le tue tabelle, comunque metti la prima option senza il value
<option>Seleziona regione</option> e
<option>Seleziona provincia</option>
per la visualizzazione della ricerca prova in questa maniera (leggi i commenti)
provalo (verificando che abbia messo i nomi dei campi giusti), al massimo non funzia
non posso provare il form perchè non ho le tue tabelle, comunque metti la prima option senza il value
<option>Seleziona regione</option> e
<option>Seleziona provincia</option>
per la visualizzazione della ricerca prova in questa maniera (leggi i commenti)
PHP:
<?php
//dati di connessione
$wh="WHERE 1=1";
$regione="";
$provincia="";
$marca="";
if($_POST['regione'] == "" && $_POST['provincia'] == "" && $_POST['marca'] == ""){
//non è stato selezionato nulla (puoi usare empety, ma a me piace di più così)
//potresti mettere un ritorno automatico alla index es.
echo "devi fare almeno una selezione";
echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}else{
//è stata fatta almeno una selezione
if($_POST['regione'] != ""){
//è stata selezionata la regione
if($_POST['provincia'] !=""){
//è stata selezionata anche la provincia
$provincia=$_POST['provincia'];
$wh .=" AND id_provincia = $provincia";
}else{
//è stata selezionata solo la regione
$regione=$_POST['regione'];
$wh .=" AND id_regione = $regione";
}
}
if($_POST['marca'] != ""){
//è stata selezionata la marca
$marca=$_POST['marca'];
$wh= " AND marca='$marca'";
}
}
/*!!! qui verifico che l'utente non abbia selezionato solo la provincia
se l'utente ha selezionato SOLO la provincia la variabile $wh
è rimasta del valore iniziale == "WHERE 1=1" altrimenti può avere (in funzione delle selezioni) i seguenti valori (es.)
$wh="WHERE 1=1 AND id_provincia = 99" oppure
$wh="WHERE 1=1 AND id_regione = 11" oppure
$wh="WHERE 1=1 AND id_provincia = 99 AND marca ='pinco'" oppure
$wh="WHERE 1=1 AND id_regione = 11 AND marca ='pinco'" oppure
$wh="WHERE 1=1 AND marca ='pinco'"
*/
if($wh=="WHERE 1=1"){
echo "errore nella selezione: selezionato solo la provincia";
echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}else{
$query = mysql_query("select * from annunci $wh");
if(mysql_num_rows($query)==0){
echo "non trovato";
echo "<meta http-equiv='Refresh' content='3; URL=index.php'>";
}else{
echo "<table border='1' width='200'>";
while($ris = mysql_fetch_array($query)){
echo "<tr>
<td class='testo_3'>".$ris[id_annuncio]."</td>
</tr>";
}
echo "</table>";
//qui ritorno alla ricerca
}
}
?>