Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/01/2014, 10:48
kiko's
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Rellenar un calendario de eventos

Cita:
Iniciado por Eleazan Ver Mensaje
Buenas, supongo que podrías modificar este bucle algo así:

Código PHP:
foreach ($eventos as $evento) {
                foreach (
$calendar as $week => $days) {
                    for (
$i 1$i <= 7$i++) {
                        
// Si hay algún evento con fecha de inicio para el día que estamos iterando se añade al calendario
                        
if ($days[$i] == $evento->fecha_inicio) {
                            
$days[$i]->asistentes $evento->asistentes;
                            for(
$j $i+1$days[$j] <= $evento->fecha_fin$j++) {
                               
$days[$j]->asistentes $evento->asistentes;
                            }

                            
$calendar[$week] = $days;
                        }
                    }
                }
            } 

Supongo que faltaria q controlaras tb que si se "pasa" de la semana, deberias aumentarla para seguir sumando ;)

PD: ¿Y q pasa si coinciden dos fechas?
Muchas gracias compañero. No termina de funcionar el código porque se desborda la memoria en algún lado pero tiene fácil solución que miraré luego con más calma.

Lo que más me preocupa son los límites ya que el calendario es mensual, obtengo todo los eventos del mes y en base a eso relleno el calendario, que tiene las fechas de un mes... El problema son las reservas que se hacen el día 31 de julio y duran, por ejemplo, 3 días. Ahí cogería días de agosto que no tendría en el calendario. Y lo mismo pasaría al visitar el mes de agosto, que habría reservas que comienzan en julio. Un desastre total por no haberlo pensando mejor antes.

A ver si se me ocurre algo esta noche mientras duermo. Si alguien tiene alguna sugerencia, aunque haya que partir desde un punto de vista diferente sin tener que modificar la base de datos bienvenido sea!

Gracias.