Función en Ciclo FOR
[/b]Hola a todos,
Dejen que les explique el por que es un problema.
Estoy haciendo un sistema de reservaciones y obviamente tiene una base de datos.
Desde la pagina tablareserv.php llamo a la función que esta dentro de una tabla que se despliega según los días del mes($m) y las habitaciones disponibles($habitacion).
echo "<table width='90%' align='center' border='1' cellspacing='0' cellpadding='0'>";
echo "<tr><td> </td>";
for($dia=1;$dia<=$m;$dia++){
echo "<td width='25'><center><font color='#FFFFFF'><b>".$dia."</b></font></center></td>";
}
echo "</tr>";
for($habitacion=1;$habitacion<=$habitaciones;$habitacion++){
devuelve_conteo($habitacion,$m);
}
echo "</table>";
echo "<tr><td> </td>";
for($dia=1;$dia<=$m;$dia++){
echo "<td width='25'><center><font color='#FFFFFF'><b>".$dia."</b></font></center></td>";
}
echo "</tr>";
for($habitacion=1;$habitacion<=$habitaciones;$habitacion++){
echo "<tr>";
echo '<td width="125">Habitacion '.$habitacion.'</td>';
devuelve_conteo($habitacion,$m);
echo "</tr>";
}
echo "</table>";
Esta función esta en un include y es la que se encarga de hacer el ciclo correspondiente para que la siguiente función checar_disponibilidad() se ejecute correctamente.
function devuelve_conteo($habitacion,$m)
{
}
{
$dia_conteo=1;
while($dia_conteo<$m+1)
{
echo "<td><center>",checar_disponibilidad($habitacion,$dia_conteo),"</center></td>";
$dia_conteo++;
}
}
Esta es la función checar_disponibilidad que es en la que radica el problema.
function checar_disponibilidad($habitacion,$dia_conteo)
{
}
{
$link=Conectarse();
$con=mysql_query("SELECT f_ll_dia FROM Reservaciones WHERE f_ll_dia='".$dia_conteo."' AND f_ll_mes='".date('M')."' AND f_ll_ano='".date('Y')."'",$link)or die(mysql_error());
$c_fecha=mysql_fetch_array($con);
$con2=mysql_query("SELECT * FROM Reservaciones WHERE numero_habitacion='".$habitacion."'",$link)or die(mysql_error());
$c_habitacion=mysql_fetch_array($con2);
if($habitacion==$c_habitacion['numero_habitacion']&&$dia_conteo==$c_fecha['f_ll_dia'])
{
echo 'RESERVADA';
}
else
{
echo 'L';
}
}
Hasta aquí la tabla funciona, se despliega correctamente, solo que obviamente vacía por que aun no hay registros, Ahora supongamos que se añade un registro, que llega el día 20 de Enero a la Habitación numero 5, entonces ahora el valor de $c_habitacion['numero_habitacion'] = 5 y $c_fecha['f_ll_dia'] = 20.
En este momento cuando se consulta tablareserv.php en la tabla aparece que la Habitación 5 el día 20 de Enero esta RESERVADA.
Perooooooo cuando se agrega otra entrada a la tabla de la base de datos con $c_habitacion['numero_habitacion'] = 9 y $c_fecha['f_ll_dia'] = 12 (noten que cambio a 9 y 12 respectivamente), bueno hasta aquí están de acuerdo en que en tablareserv.php debería imprimir que:
*La habitación 5 el 20 de Enero esta Reservada.
*La habitación 9 el 12 de Enero esta Reservada.
Pero no sucede así, lo que sucede a la hora de mostrar la tabla aparece que:
*La habitación 5 esta ocupada el 20 y el 12 de Enero.
Osea que se imprimen en la misma fila y no debe ser así.
Alguien me podría orientar un poco?
Saludos.
En esta linea es donde creo que esta el problema..
Código:
if($habitacion==$c_habitacion['numero_habitacion']&&$dia_conteo==$c_fecha['f_ll_dia'])