Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Leer todos los días que se encuentran entre una fecha y otra

Estas en el tema de Leer todos los días que se encuentran entre una fecha y otra en el foro de PHP en Foros del Web. Hola! Mi objetivo es este. Tengo dos select. Uno para el mes y el otro para el año. Al seleccionar el mes y el año ...
  #1 (permalink)  
Antiguo 24/08/2013, 11:18
 
Fecha de Ingreso: enero-2013
Ubicación: Distrito Federal
Mensajes: 88
Antigüedad: 11 años, 3 meses
Puntos: 1
Exclamación Leer todos los días que se encuentran entre una fecha y otra

Hola!
Mi objetivo es este. Tengo dos select. Uno para el mes y el otro para el año. Al seleccionar el mes y el año que deseo me mostrará una tabla así:



En mi BD busco todos los eventos que hay en el mes y el año seleccionados.

Por ejemplo si existe una fecha el 24/08/2013 a las 14:00. Al seleccionar en mis selects el mes de AGOSTO y el AÑO 2013. El cuadro que corresponde al día 24 a las 14:00 cambiará de color.

Hasta aquí todo bien. Este es mi código:

Código PHP:
Ver original
  1. //Inicio Estructura While para COLUMNA de horas
  2. while ($result_row2 = mysql_fetch_array($resultado2))
  3. {
  4.     echo '<tr><td bgcolor="#f7f7f7" >'.$result_row2['hora'].'</td>';           
  5.     $rellenar=1; //Esta variable servirá para rellenar y saber en que día estoy
  6.  
  7.     //Estructura While para rellenar COLUMNAS hasta el número de días existentes    
  8.     while($rellenar <= $dias_x_mes)
  9.      {
  10.            $esta_fecha_sql = $anio."-".$mes."-".$rellenar; //Se crea la fecha en la que se encuentra el ciclo
  11.            
  12.             if (in_array($esta_fecha_sql, $fechas_en_bd)) //Comparamos si esta fecha esta en el array de las fechas de la BD
  13.            {
  14.              //Consulta de BD para tomar todos los datos de los eventos donde exista $esta_fecha_sql
  15.             $cons0 = mysql_query("SELECT * FROM eventos WHERE fecha1='".$esta_fecha_sql."'");
  16.              
  17.              while($query0 = mysql_fetch_array($cons0))
  18.              {
  19.                  $id = $query0['id_hora'];
  20.                  $ultima_fecha = $query0['fecha2'];
  21.               }
  22.              
  23.                if ($result_row2['hora'] == $id) //Si el ID es igual al Id de la FIla
  24.            {     
  25.             echo '<td style="background-color:#D80100"></td>';
  26.         }else{
  27.             echo '<td></td>';
  28.         }
  29.  
  30.             $rellenar++;
  31.           }
  32.          
  33.     echo '</tr>';  //Fin de la Fila
  34.     $rellenar = 1; //Inicializa variable para rellenar
  35. }

Ahora agregué una función donde el evento puede durar varios días pero en la misma hora (es por eso la fecha1 y fecha2)

Por lo tanto, como puedo hacer si en el caso del ejemplo anterior el EVENTOX es del 24/08/2013 - 28/08/2013 a las 14:00 en mi tabla no solo se coloree el 24, sino el 24,25,26,27 y 28???

Pense que podría con un ciclo while pero aún no he podido echarlo a andar

De antemano gracias por la ayuda

Etiquetas: sql
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 18:35.