Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2010, 16:06
esaenz22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 10 meses
Puntos: 7
Pregunta mostrar en un lightbox la imagen en un calendario de eventos

recurro a ustedes porque yo ya no pude resolver un problema que me tiene atareado. hice n maneras de resolverlo y aun no he conseguido resultados. he implementado un calendario del manual wiki de foros del web. en el calendario agrego eventos y los resalto o lo muestro de un color las fechas que hayan sido creados.

ejemplo.

- si el dia 29 de noviembre hay 1 evento, me tiene que mostrar un lightbox con la imagen del evento creado.

- si el dia 30 de noviembre hay 2 ó mas eventos, me tiene que mostrar en un lightbox los 2 o mas eventos que hayan sido creados y asi sucesivamente.

resulta que ya comparo la fecha de la bd con la fecha de hoy y me lo resalta. mi problema es como mostrar la imagen en el lightbox y que en cada fecha (en este caso que sea el dia 29 de noviembre), me muestre solo las 3 imagenes del dia 29. que solo cuente cuantos eventos hay en cada fecha. si en el dia 29 hay 3 eventos, que cuente solo los 3 y asi sucesivamente.

este es mi codigo que he desarrollado.

Código PHP:
Ver original
  1. <table align="center">
  2. <?php
  3.  
  4. $anio = ($_GET['anio'])?$_GET['anio']:date("Y");
  5. $mess = ($_GET['mess'])?$_GET['mess']:date("n");       
  6.  
  7. $sql_eventos  = "SELECT * FROM sense_eventos where anio = '".$anio."' and mes = '".$mess."'";
  8. $rpta_eventos = mysql_query($sql_eventos) or die(mysql_error());
  9.  
  10.     $fechasxx = "";
  11.     $imagen_evento = array();
  12.     while($row_eventos = mysql_fetch_array($rpta_eventos)){
  13.         $fecha_ingresada .= ",".substr($row_eventos['fecha'],8,10);
  14.         $imagen_evento[]  = $row_eventos['imagen_evento'];
  15.     }
  16.     $fechasxx =  substr($fecha_ingresada,1);   
  17.    
  18.     #muestra los meses en texto.
  19.     $m    = genMonth_Text($mess);
  20.    
  21.     $ultimo = date("t",mktime(0, 0, 0, $mess, 1, $anio));
  22.     if($mess == '12' || $mess == '1'){
  23.         if($mess == '12'){
  24.             $next = 1;
  25.             $prev = $mess -1;
  26.             $anion = $anio + 1;
  27.             $aniop = $anio;
  28.         }
  29.         if($mess == '1'){
  30.             $next = $mess + 1;
  31.             $prev = 12;
  32.             $anion = $anio;
  33.             $aniop = $anio -1;        
  34.         }
  35.     }else{
  36.         $next = $mess + 1;
  37.         $prev = $mess - 1;    
  38.         $aniop = $anio;
  39.         $anion = $anio;
  40.     }
  41.  
  42.         echo "<tr>";
  43.             echo "<tr>
  44.                     <th><a href='demo5_lightbox.php?mess=$prev&anio=$aniop'> << </a></th>
  45.                     <th colspan=5>$m $anio</th>
  46.                     <td><a href='demo5_lightbox.php?mess=$next&anio=$anion'> >> </td>
  47.                   </tr>
  48.               ";
  49.             echo "<tr>
  50.                     <td>Dom</td>
  51.                     <td>Lun</td>
  52.                     <td>Mar</td>
  53.                     <td>Mie</td>
  54.                     <td>Ju</td>
  55.                     <td>Vie</td>
  56.                     <td>Sab</td>
  57.                  </tr>";
  58.     $diaa = "1";
  59.  
  60.     while($diaa <= $ultimo){
  61.         $dia = date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el día de la semana en letras...
  62.         $fecha = date("d",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el día del mes en 01/31
  63.         $dia_semana = date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el día de la semana en número
  64.    
  65.         if($dia == "Sun"){
  66.             echo "</tr><tr>";
  67.         }
  68.         if($fecha == "01"){
  69.             $i=0;
  70.             while($i != $dia_semana){
  71.                 echo "<td>&nbsp;</td>";
  72.                 $i++;
  73.             }
  74.         }
  75.        
  76.             #verificar si son=
  77.             $bgcolor = ""; 
  78.             $link    = $fecha;
  79.             $arrai   = explode(",",$fechasxx);         
  80.            
  81.             if(in_array($fecha,$arrai)){
  82.                 $bgcolor = "style='background-color:#CCC;font-weight:bold'";
  83.                 $link    = "<a href = 'eventos/".$row_imagen['imagen_evento']."' rel='sexylightbox[$contador]' style='text-decoration:none'>$fecha</a>";
  84.  
  85.             }
  86.        
  87.             echo "<td $bgcolor>$link</td>";
  88.        
  89.        
  90.         $diaa++;
  91.        
  92.     }
  93.     echo "</tr>";
  94.    
  95. ?>
  96. </table>

en estos casos para que me muestre la imagen, deberia crear otra consulta sql y hacer un in_array() para saber si coinciden con las fechas ?

estare muy agradecido si me ayudan.

saludos.

Última edición por esaenz22; 27/11/2010 a las 16:09 Razón: correccion del texto.