Vous trouverez qu'il est assez difficile de générer une liste des jours disponibles dans MySQL. Je vous recommande plutôt de sélectionner une liste ordonnée de jours réservés dans le mois souhaité, puis de parcourir tous les jours de ce mois en PHP en sautant le jour s'il correspond au prochain jour réservé à partir de votre requête MySQL. La réponse à cette question vous aidera à construire les dates sur lesquelles vous voulez boucler en PHP. En pseudo-code :
$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);
}
Pour vérifier si une nouvelle réservation est possible, vous pouvez consulter ma réponse à une question très similaire plus tôt aujourd'hui.