Hola!
Estoy haciendo un sistema en donde guardo eventos del mes. Estos eventos se ven reflejados de color rojo en la celda correspondiente al día para visualizar que ese día ya esta ocupado por un evento.
Como puedo hacerle para en caso de que el evento dure varios días. Todos los días se marquen de color rojo.
POR EJEMPLO:
Si el EVENTOX tiene la fecha del 26/08/2013. Ese día se marcará de rojo. (esto ya lo tengo)
Si el EVENTOY tiene la fecha del 26/08/2013-29/08/2013. Actualmente unicamente se pinta el día 26 y necesito que se pinte el 26,27 y 28
En mi BD tengo una fila llamada rango que calcula los días que existen (regresando a mi ejemplo) del 26 al 29. En este caso sería 3.
Este es el código que actualmente tengo:
Código PHP:
Ver original$fechas_en_bd[] = $fechas['fecha_1']; //Este resultado sale de una consulta SQL
$rellenar=1; //Esta variable servirá para rellenar y saber en que día estoy
//Estructura While para rellenar COLUMNAS hasta el número de días existentes
while($rellenar <= $dias_x_mes)
{
$esta_fecha_sql = $anio."-".$mes."-".$rellenar; //Se crea la fecha en la que se encuentra el ciclo
if (in_array($esta_fecha_sql, $fechas_en_bd)) //Comparamos si esta fecha esta en el array de las fechas de la BD {
//Consulta de BD para tomar todos los datos de los eventos donde exista $esta_fecha_sql
$cons0 = mysql_query("SELECT * FROM eventos WHERE fecha_1='".$esta_fecha_sql."'");
{
$ultima_fecha = $query0['fecha_2']; //Esta fecha es el ultimo dia del evento
$rango = $query0['rango']; //Esto son los número calculados de la fecha1 a la fecha2
}
echo '<td style="background-color:#D80100"></td>';
}else{
echo '<td ></td>';
}
$rellenar++;
}
Los datos que me pueden ayudar ya estan tomados en $ultima_fecha y $rango.
Probe con un ciclo FOR
Código PHP:
Ver originalfor($z=1;$z==$rango;$z++){
echo '<td style="background-color:#D80100"></td>';
}
Pero no me marca todos los días, incluso hay unos que ya no se pintan xk el rango es 1 y si cambio la z a 0 tampoco. Que podré hacer?