Foros del Web » Programando para Internet » PHP »

No consigo ostrar lo que quiero

Estas en el tema de No consigo ostrar lo que quiero en el foro de PHP en Foros del Web. Tengo un calendario php y una base de datos donde tengo una tabla llamada reservas con 5 campos(Codigo_reserva,Fecha_Llegada,Fecha_Salida,C odigo_Cliente,NHabitacion). Lo que quiero es que me ...
  #1 (permalink)  
Antiguo 07/05/2010, 03:12
 
Fecha de Ingreso: mayo-2010
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
No consigo ostrar lo que quiero

Tengo un calendario php y una base de datos donde tengo una tabla llamada reservas con 5 campos(Codigo_reserva,Fecha_Llegada,Fecha_Salida,C odigo_Cliente,NHabitacion). Lo que quiero es que me compruebe desde la fecha de llegada hasta la fecha de salida los dias y si estan registrados me los muestre en rojo en el calendario. a ver si me podeis ayudar, gracias de antemano.
Esto lo que yo he ido pensado pero no saco nada ya que soy un novato en php.
el calendario lo relleno de la sigiente forma:


$FechaLlegada=$Ano.'-'.$Mes.'-'.$Dia_Actual;
for($i=0;$i<7;$i++){
if($i<$DiaSemana){
echo "<td>&nbsp;</td>";
} else {
$ID_Conexion=@mysql_connect("localhost","root") or die ("No se ha podido establecer la conexion con la base de datos");
mysql_select_db('Comercio', $ID_Conexion) or die ("La base de datos no ha sido seleccionada");
$Consulta1="SELECT Fecha_Llegada, Fecha_Salida FROM Reservas WHERE Fecha_Llegada='".$FechaLlegada."';";
$Con1=mysql_query($Consulta1);
$Existe=mysql_num_rows($Con1);
if($Existe==1){
echo "<td align='center'><text style='color:red;backgrond:gray;'>$Dia_Actual</text></td>";
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
$Dia_Actual++;
}
}
}
echo "</tr>";
while($Dia_Actual<=$Ultimo_Dia){
if($Numero_Dia==0)
echo "<tr>";
$ID_Conexion=@mysql_connect("localhost","root") or die ("No se ha podido establecer la conexion con la base de datos");
mysql_select_db('Comercio', $ID_Conexion) or die ("La base de datos no ha sido seleccionada");
$Consulta1="SELECT Fecha_Llegada, Fecha_Salida FROM Reservas WHERE Fecha_Llegada='".$FechaLlegada."';";
$Con1=mysql_query($Consulta1);
$Existe=mysql_num_rows($Con1);
if($Existe==1){
echo "<td align='center'><text style='color:red;backgrond:gray;'>$Dia_Actual</text></td>";
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
$Dia_Actual++;
$Numero_Dia++;
if($Numero_Dia==7){
$Numero_Dia=0;
echo "</tr>";
}
}
  #2 (permalink)  
Antiguo 07/05/2010, 05:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: No consigo ostrar lo que quiero

He avanzado un poco pero solo consigo que me muestre los dias ocupados en un mismo mes y año. si estos cambian los muestra como libres, ayudadme!! que me urge xD, un saludo.


$ID_Conexion=@mysql_connect("localhost","root") or die ("No se ha podido establecer la conexion con la base de datos");
mysql_select_db('Comercio', $ID_Conexion) or die ("La base de datos no ha sido seleccionada");
$Consulta1="SELECT Fecha_Llegada, Fecha_Salida FROM Reservas WHERE CURDATE() BETWEEN CURDATE() AND Fecha_Salida ORDER BY Fecha_Salida;";
$Con1=mysql_query($Consulta1);
echo "<tr>";
while($Fila1=mysql_fetch_array($Con1)){
$C1=$Fila1[0];
$C2=$Fila1[1];
list($Ano_BD1, $Mes_BD1, $Dia_BD1)=explode("-",$C1);
list($Ano_BD2, $Mes_BD2, $Dia_BD2)=explode("-",$C2);
}
for($i=0;$i<7;$i++){

if($i<$DiaSemana){
echo "<td>&nbsp;</td>";
} else {
if($Dia_Actual>=$Dia_BD1 && $Dia_Actual<=$Dia_BD2){
if($Mes>=$Mes_BD1 && $Mes<=$Mes_BD2){
if($Ano>=$Ano_BD1 && $Ano<=$Ano_BD2){
echo "<td align='center'><text style='color:red;backgrond:gray;'>$Dia_Actual</text></td>";
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
$Dia_Actual++;
}
}
echo "</tr>";
while($Dia_Actual<=$Ultimo_Dia){
if($Numero_Dia==0)
echo "<tr>";
if($Dia_Actual>=$Dia_BD1 && $Dia_Actual<=$Dia_BD2){
if($Mes==$Mes_BD1 && $Mes==$Mes_BD2){
if($Ano==$Ano_BD1 && $Ano==$Ano_BD2){
echo "<td align='center'><text style='color:red;backgrond:gray;'>$Dia_Actual</text></td>";
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
} else {
if($Ano==$Ano_BD1 && $Ano==$Ano_BD2)
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
} else {
echo "<td align='center'><a style='color:green;backgrond:white;text-decoration:none;' href='Index.php?Dia=$Dia_Actual&Nuevo_Mes=$Mes&Nue vo_Ano=$Ano'>$Dia_Actual</a></td>";
}
$Dia_Actual++;
$Numero_Dia++;
if($Numero_Dia==7){
$Numero_Dia=0;
echo "</tr>";
}
}

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.