Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2009, 16:28
locoxchacho
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Agrupar registros con el mismo dia

Exactamente. Quisiera, que por ejemplo, los eventos del 4, esten juntos, y que no se repita el bloque del 4.

Ahora, en la base de datos, la estructura es algo asi:

Código:
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `mes` smallint(6) NOT NULL,
 `dia` smallint(6) NOT NULL,
  `evento` text NOT NULL,
  `horario` text NOT NULL,
Esto, como dije en el mensaje anterior, lo hago pues es mas facil a la hora de ingresar en un formulario por medio de selects: en uno elijo el mes, y en otro la fecha, y listo.

Ahora, de esta BD, lo recupero de la siguiente forma:

Código PHP:
$mes_actual $_GET['id'];
$query"SELECT * FROM calendario WHERE mes = '$mes_actual' ORDER BY dia ASC";
$calendario mysql_query($query$conexion) or die(mysql_error());
$row_calendario mysql_fetch_assoc($calendario); 
Luego, en el cuerpo de mi pagina, hago un while de la siguiente forma:

Código PHP:
<? $i=0// variable para alternar los colores de los bloques
if ($numero!=0){
do {
?>
<div class="<? if ($i%2==0){echo "calen";}else{echo "calen_color";}?>"> // si $i es par, una clase CSS, sino otra.
<div class="numero"><img src="../images/calendario/<? echo $row_calendario['dia'];?>.gif"/></div> // aca, segun el dia que tenga el registro, la imagen que mostrare (este es el numero que se muestra en los bloques)
<div class="detalle">
<p class="color"><?echo $row_calendario['horario'];?></p>
<? if ($row_calendario['horario']==""){echo '<br/>';}?> // esto lo hago para que todos los elementos que no tienen un horario, queden alineados verticalmente.
<p><?echo $row_calendario['evento'];?></p> //imprimo el evento
</div>
</div>
<?;$i++; } while ($row_calendario mysql_fetch_assoc($calendario));
}
else { echo 
'No hay fechas disponibles para este mes.<br/><br/><br/>';}?>
Es medio rebuscado? Hasta ahora me ha dado resultado, salvo por el problemita este. La tabla es facil de modificar, y agiliza el calendario.

Bueno, eso es todo. Espero puedan ayudarme! ;)

Gracias,

Pablo.