Foros del Web » Programando para Internet » PHP »

Evento de varios dias en calendario

Estas en el tema de Evento de varios dias en calendario en el foro de PHP en Foros del Web. Hola amigos como estais, Vereis tengo una cuestion que no se muy bien como resolver, estoy haciendo un calendario de eventos para poder guardar una ...
  #1 (permalink)  
Antiguo 22/12/2010, 08:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Evento de varios dias en calendario

Hola amigos como estais,

Vereis tengo una cuestion que no se muy bien como resolver, estoy haciendo un calendario de eventos para poder guardar una tarea para un determinado dia y mostrarlo, esto lo hace bien, la cosa es que tendria que poder guardar un evento que durase varios dias y es aqui donde no encuentro como hacerlo.

Este es el codigo que uso, esta funcionando muy bien para guardar eventos de un dia:

while($diaa <= $ultimo){ //esta linea escribe todos los dias del mes


if ($diaa <= 9){
$diaa = "0".$diaa;
}

$consulta = "SELECT * FROM calendario WHERE Nnoticia = ".$_SESSION['Nnoticia']; //aqui busca el evento
$resultado = mysql_query($consulta,$conexion);


$dia = date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el día de la semana en letras...
$fecha = date("d",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el día del mes en 01/31
$dia_semana = date("N",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el día de la semana en número

if($dia == "Mon"){
echo "</tr><tr>";
}




//echo $dia_semana.' '.'<br />';
if($fecha == "01"){
$i=1;
while($i != $dia_semana){
echo "<td>&nbsp;</td>";
$i++;
}
}


$fecha_hoy = $anio.'-'.$mess.'-'.$diaa;

if($fecha_hoy == $hoy){
echo "<td style='height:90px; background-color:#fff7d7;' valign='top'><a href='calendario_eventos.php?fecha_hoy=".$fecha_ho y."&fecha_inicio=".$fecha_inicio."&fin_mes=".$fin_ mes."'><div style='padding:0px 5px 0px 0px; background-color:#cccccc;' align='right'><img src='imagenes_cofranet/agregar_evento.png' alt='añadir evento' border='0' style='position:relative; left:-90px; top:2px;'>$fecha</div></a>";
}else{
echo "<td style='height:90px;' valign='top'><a href='calendario_eventos.php?fecha_hoy=".$fecha_ho y."&fecha_inicio=".$fecha_inicio."&fin_mes=".$fin_ mes."'><div style='padding:0px 5px 0px 0px; background-color:#cccccc;' align='right'><img src='imagenes_cofranet/agregar_evento.png' alt='añadir evento' border='0' style='position:relative; left:-90px; top:2px;'>$fecha</div></a>";
}


while ($array = mysql_fetch_array($resultado)){

if($array['fecha'] == $fecha_hoy) // aqui escribo el evento
{


$limitar = substr($array['titulo'],0,20);
$contando = strlen($array['titulo']);

echo "<div valign='top' style='border-bottom:1px solid #cccccc; width:100%;'><font size='2'>".$limitar;

if($contando > 20){
echo '...';
}

echo "</font></div>";
}
}

echo "</td>";
//echo "<td>$fecha</td>";

$diaa++;

}


Decir que en la BD tengo un campo fecha que seria la fecha de inicio del evento y otro fecha_fin que seria la fecha fin del evento.

Bueno a ver si alguien sabe como hacer esto.

Un saludo
  #2 (permalink)  
Antiguo 22/12/2010, 08:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Evento de varios dias en calendario

Tu problema está en la consulta que trae los eventos para cierto(s) día(s). Deberías usa algo así:

Código SQL:
Ver original
  1. SELECT * FROM calendario WHERE  fecha >= '$myfecha' AND fecha_fin < = '$myfecha';

También se puede hacer con la instrucción SQL "BETWEEN".
  #3 (permalink)  
Antiguo 22/12/2010, 09:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Evento de varios dias en calendario

Hola amigo, gracias por tu respuesta,

Lo que hago en esa consulta es ir comprobando dia a dia y despues lo comparo con dia actual y si coincide entonces muestra el evento, si cambiase la consulta por la que propones solo mira ese rango de fechas pero necesite que mire todos los dias para que compruebe si hay evento o no en alguno de los dias del mes.

Dime si no entendi bien, gracias amigo

Un saludo
  #4 (permalink)  
Antiguo 22/12/2010, 09:51
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Evento de varios dias en calendario

Solo deberías reemplazar $myfecha por la fecha del día que estás comprobando.

Y si, necesitas comprar todos los días del mes.

Etiquetas: calendario, dias, eventos
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 14:31.