Ciao a tutti !
Mi sono arenata su un problema con una verifica di disponibilita' per delle camere di un albergo.

Ho una tabella di un db che si chiama prenotazioni ed e' cosi' composta:

id | id_camera | data | stato
----------------------------------------------
1 | 3 | 2013-05-19 | 1
----------------------------------------------
2 | 3 | 2013-05-20 | 1
----------------------------------------------
3 | 3 | 2013-05-21 | 1
----------------------------------------------
4 | 7 | 2013-07-15 | 1
----------------------------------------------
5 | 7 | 2013-07-16 | 1

ecc..ecc....

In pratica, salvo il giorno prenotato (o in prenotazione) e lo lego all'id della camera.


Come posso fare per verificare la disponibilita' delle camere in base al giorno di arrivo e quello di partenza ?

Avevo pensato una cosa del genere ma purtroppo non riesco a farla andare:


Codice PHP:

// ARRIVO DA FORM IN CUI HO SELEZIONATO DATA DI ARRIVO E DATA DI PARTENZA
$dal $_POST['from'];
$al $_POST['to'];

// CALCOLO QUANTI GIORNI SONO E RICONVERTO DATA IN ANNO/MESE/GIORNO
$date_from_parts explode('/'$dal);
$date_to_parts explode('/'$al);
$ts_from mktime(000$date_from_parts[1], $date_from_parts[0], $date_from_parts[2]);
$ts_to mktime(000$date_to_parts[1], $date_to_parts[0], $date_to_parts[2]);
for (
$x $ts_from$x <= $ts_to$x += 86400){

    
$days[] = date('Y-m-d'$x);
    
}
                                            
for (
$i 0$i <= count($days)-1$i++) {
    
    
// SCORRO TUTTI I GIORNI CHE VANNO DA FROM A TO
    //echo $days[$i]."
";
    
    
$queryDisponibilita= "SELECT FROM prenotazioni WHERE data $days[$i]";
    
$resultDisponibilita = mysql_query($queryDisponibilita);
    
$righeDisponibilita = mysql_num_rows($resultDisponibilita);

    if (mysql_num_rows(
$resultDisponibilita) != 0) {
    
        while (
$arrayDisponibilita = mysql_fetch_assoc($resultDisponibilita)) {
            
            // STAMPO LE CAMERE DISPONIBILI
            echo "
$arrayDisponibilita[id_camera]
";
        
        }
    
    }    else {
    
        echo "
nessun appartamento disponibile per il periodo prescelto...";
    
    } 

Purtroppo non riesco proprio a farlo funzionare, eppure, verificare se effettivamente il giorno e' nella tabella prenotazioni (e se non c'e' ovviamente la camera e' disponibile) mi sembra la soluzione migliore !

In ogni modo, grazie 1000.