U zult merken dat het vrij moeilijk is om een lijst met beschikbare dagen in MySQL te genereren. In plaats daarvan raad ik je aan om een geordende lijst met geboekte dagen binnen de gewenste maand te selecteren, en vervolgens alle dagen van die maand in PHP door te lopen en de dag over te slaan als deze overeenkomt met de volgende geboekte dag van je MySQL-query. Het antwoord op deze vraag zal u helpen bij het bouwen van de datums waarover u wilt lussen in PHP. In pseudocode:
$booked_days = sql(select all booked days in month order by day);
for each $day in month {
if $day != current($booked_days) {
// $day is not booked
} else advance_next($booked_days);
}
Om te controleren of een nieuwe reservering mogelijk is, kun je mijn antwoord op een zeer vergelijkbare vraag eerder vandaag.