Originariamente inviato da andrealeti
Il principio di fondo è quello dei filtri.
Quindi modificare la query principale sulla base delle "stelle" selezionate.
Dal menu a tendina fai partire una variabile POST che modifica la query.
Il form punta alla stessa pagina che mostra i risultati.
La select del menu a tendina la chiami per esempio: stelle
a monte di tutto modifichi la query se e solo se esiste una variabile stelle nell'array post.
Codice PHP:
// query principale
$query="SELECT * FROM tabella";
// se esiste una variabile filtro
if(!isset($_POST['stelle'])):
// modifico la query
$query.="WHERE stelle = '".(int)$_POST['stelle']."'";
endif;
//....e da qui in poi esegui la query e mostri i risultati
forse hai capito cosa mi serve, cmq per la precisione il campo nel menu non e' stelle ma aeroporto (di partenza)
Attualmente sto facendo cosi':
Codice PHP:
$sql = "select id_pacchetto, hotel, data, DATE_FORMAT(data, '%d/%m/%Y') AS data_formattata, aeroporto, destinazione, durata, prezzo, settimana_supplementare, disponibilita, tour_operator from pacchetti where 1";
//CASO IN CUI L'AEROPORTO EQUIVALE A TUTTI GLI AEROPORTI
if ($seleziona_aeroporto == "0") {
$sql .= " and hotel=\"5 Stelle Formula Roulette\" and disponibilita > 0 and data > NOW() order by data asc";
}
//CASO IN CUI L'AEROPORTO E' STATO SELEZIONATO, DEVE USCIRE IL NOME DELL'AEROPORTO
if ($seleziona_aeroporto != "0") {
$sql .= " and hotel=\"5 Stelle Formula Roulette\" and disponibilita > 0 and data > NOW() and aeroporto = \"$seleziona_aeroporto\" order by data asc";
}
Cosi' facendo non ho problemi quando seleziono l'aeroporto, il problema ce l'ho quando apro per la prima volta la pagina che non esce nessu risultato.
Come faccio ad usare il tuo codice?
Il menu a tendina si chiama seleziona_aeroporto