Creo que sería más conveniente si en dicha tabla almacenaras el número de la habitación y los intervalos de las fechas en que estará ocupada, así evitarías realizar N consultas por cada fecha dentro del intervalo.
Para ese caso, podrías trabajar con un array multidimensional, es decir, un array de arrays, en el cual cada array del array padre, contendrá el número de la habitación, la fecha de inicio y la de fin de ocupación de la misma. Por ejemplo, supongamos que el array multidimensional esté formado así:
Código HTML:
Ver originalArray
(
[0] => Array
(
[hab] => 1
[ini] => 2014-03-12
[fin] => 2014-03-17
)
[1] => Array
(
[hab] => 3
[ini] => 2014-04-08
[fin] => 2014-04-09
)
[2] => Array
(
[hab] => 12
[ini] => 2014-06-10
[fin] => 2014-06-12
)
[3] => Array
(
[hab] => 9
[ini] => 2014-07-19
[fin] => 2014-07-31
)
[4] => Array
(
[hab] => 14
[ini] => 2014-03-11
[fin] => 2014-03-13
)
)
En este ejemplo, el array padre tiene cinco arrays hijos, cada uno con el número de la habitación, fecha de inicio y fin de ocupación. La actualización en la BD la harías de la siguiente forma:
Código PHP:
Ver originalforeach ($habitaciones as $habitacion) {
$query = mysqli_query($conexion, sprintf("UPDATE hab_x_cal SET fechaInicio = '%s', fechaFin = '%s', estado = 'ocupado' WHERE id_habitacion = %d", $habitacion['ini'], $habitacion['fin'], $habitacion['hab'])); }
De este modo, utilizas un solo bucle y mantienes la relación entre las fechas, estado y cada habitación.
Saludos