quella risponde alla funzione "function calcolaNotti($checkIn,$checkOut)": date due date, a prescindere da quanti mesi/anni/giorni ci siano in mezzo, quello dovrebbe darti il numero di notti trascorse. per sapere quante notti ci sono in un mese devi sapere quanti giorni ci sono in un mese:
questa è una base di come si usano le funzioni delle date (uno spunto ecco). Ora se vuole sapere per la camera A l'andamento delle prenotazioni, può calcolarselo prendendo un range di prenotazioni dal db e facendo gli opportuni calcoli. Ad esempio, se io ho una prenotazione del tipo :Codice PHP:
<?php
$mese = "02"; //febbraio
$anno = 2016; //l'anno deve essere conosciuto
echo "giorni nel mese {$mese}/{$anno} : ".date('t',strtotime($anno.'-'.$mese.'-01'));
dal 2016-02-28 al 2016-03-02in realtà ho la prenotazione dal 2016-02-28 al 2016-02-29 e dal 2016-03-01 al 2016-03-02. Quindi può dire che a febbraio su 29 notti ne aveva 2 occupate (se c'è il cambio di mese si aggiunge una notte) + una notte a marzo su 31. Insomma se vuole lavorare con le date, fossi in lui giocherei piu sulle funzionalità di DateTime che del codice che ha scritto. Poi se vuole che i dati glieli dia direttamente una query, deve usare le funzioni delle date del suo db (se possibile)