Zjistíte, že je docela obtížné vygenerovat seznam dostupných dnů v MySQL. Doporučuji místo toho vybrat seřazený seznam rezervovaných dnů v požadovaném měsíci a poté opakovat všechny dny daného měsíce v PHP a přeskočit den, pokud odpovídá dalšímu rezervovanému dni z vašeho dotazu MySQL. Odpověď na tuto otázku vám pomůže sestavit data, přes která chcete v PHP zacyklit. V pseudokódu:
$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);
}
Chcete-li zkontrolovat, zda je možná nová rezervace, možná se budete chtít podívat na mou odpověď na velmi podobná otázka dnes dříve.