si ma io devo dire che se le notti sono 2Originariamente inviato da piero.mac
Scusa, ma se calcoli con una funzione il numero delle notti ... metti questo numero in una variabile cosa che gia' fai a quanto pare con $numero_di_notti
Se ti servisse ordinare per data dovresti cambiare il nome dell'alias altrimenti come gg-mm-aaaa non potresti ordinarle correttamente.Codice PHP:$query_offerte=("SELECT id, albergo, titolo,
DATE_FORMAT(valida_da, '%d/%m/%Y') AS valida_da,
DATE_FORMAT(valida_fino, '%d/%m/%Y') AS valida_fino,
price, arrangiamento, prezzo_come, scadenza, pacchetto
FROM offerte
WHERE '$arrivo' between valida_da AND valida_fino
and '$partenza' between valida_da and valida_fino
and (prezzo_come = 1 OR prezzo_come = $numero_notti)
ORDER by price/prezzo_come")
or die("Impossibile eseguire la query: ". mysql_error());
}
Credo poi tu volessi dire "rendere dinamica la query"
la query deve avere nel where
Cmq credo di esserci riuscito mettendo where 1, tipoCodice PHP:and (prezzo_come = 1 OR prezzo_come = 2)
Il problema e' che la funzione che utilizzo non conta bene le notti, per questo sto perdendo un sacco di tempo, perche' dal 24 al 27 marzo mi conta 2 notti invece che 3, mentre se lo faccio per aprile mi da il risultato corretto... bohCodice PHP:$query_offerte="SELECT id, albergo, titolo, DATE_FORMAT(valida_da, '%d/%m/%Y') AS valida_da, DATE_FORMAT(valida_fino, '%d/%m/%Y') AS valida_fino, price, arrangiamento, prezzo_come, scadenza, pacchetto FROM offerte WHERE 1";
if ($numero_di_notti == "2") {
$query_offerte .= " AND '$arrivo' between valida_da AND valida_fino and '$partenza' between valida_da and valida_fino and prezzo_come <= $numero_di_notti ORDER by price/prezzo_come";
}
if ($numero_di_notti == "3") {
$query_offerte .= " AND '$arrivo' between valida_da AND valida_fino and '$partenza' between valida_da and valida_fino and (prezzo_come = 1 OR prezzo_come = 3) ORDER by price/prezzo_come";
}

Rispondi quotando