Foros del Web » Programando para Internet » PHP »

Presentando Dias de la Semana

Estas en el tema de Presentando Dias de la Semana en el foro de PHP en Foros del Web. Hola, Tengo una tabla Mysql con los siguientes campos: id evento hora fecha (es un campo date normal) dia (recoge el dia de la semana ...
  #1 (permalink)  
Antiguo 21/01/2010, 08:00
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 16 años
Puntos: 1
Presentando Dias de la Semana

Hola,

Tengo una tabla Mysql con los siguientes campos:
id
evento
hora
fecha (es un campo date normal)
dia (recoge el dia de la semana en que el evento tiene lugar)
repetido (1 si el evento se repite cada semana, 0 si es unico)

Quiero presentar los eventos repetidos y su horario. Dado que son repetidos de manera continua, la fecha no me interesa, ya que pido la fecha del proximo evento y recojo el dia en que sera. Si es Lunes, seran todos los Lunes.

Aqui viene la consulta:
Quiero presentar los eventos repetidos ordenador por dia, es decir, quiero algo asi:

LUNES
Evento A
A las 8:00

MARTES

MIERCOLES
Evento X
A las 9:00

Como hago para que se me ordenen los dias asi y los eventos me vayan apareciendo en su dia?
No quiero poner 7 consultas SELECT WHERE dia='dia de la semana'... Creo que me ralentizara mucho...

Gracias!
  #2 (permalink)  
Antiguo 21/01/2010, 08:17
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
Respuesta: Presentando Dias de la Semana

select * from eventos group by dia
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 21/01/2010, 08:19
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Presentando Dias de la Semana

Cita:
Iniciado por emiliodeg Ver Mensaje
select * from eventos group by dia
no seria mejor usar order by (?)

Código MySQL:
Ver original
  1. SELECT * FROM eventos ORDER BY dia
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 21/01/2010, 08:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 16 años
Puntos: 1
Respuesta: Presentando Dias de la Semana

ORDER BY no vale, porque tengo los dias (Lunes, Martes...) no tengo numeros, y el orden seria incorrecto.

GROUP BY no me ordena por dia de semana, simplemente me agrupa...
  #5 (permalink)  
Antiguo 21/01/2010, 08:37
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Presentando Dias de la Semana

si lo ordenas por tu campo dia, te saldria mal, puesto que supongo que guardas el nomnre del dia y no el numero, por lo que te ordenaria mal.....

lo mejor seria:
Código MySQL:
Ver original
  1. SELECT * FROM eventos ORDER BY fecha, hora
pero dependeria de como estas guardando la fecha y que tipo de campo sea.

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 21/01/2010, 08:45
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 16 años
Puntos: 1
Respuesta: Presentando Dias de la Semana

Cita:
Iniciado por masterojitos Ver Mensaje
si lo ordenas por tu campo dia, te saldria mal, puesto que supongo que guardas el nomnre del dia y no el numero, por lo que te ordenaria mal.....

lo mejor seria:
Código MySQL:
Ver original
  1. SELECT * FROM eventos ORDER BY fecha, hora
pero dependeria de como estas guardando la fecha y que tipo de campo sea.

Suerte.
Tampoco funcionaria, porque quiero mostrar las actividades repetidas, es decir, que se repiten cada Lunes (por ejemplo).

Lo mejor que se me ocurre es usar numero del dia en vez del dia, y luego hacer 7 IF, aunque lo veo un poco estupido en PHP
  #7 (permalink)  
Antiguo 21/01/2010, 08:51
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Presentando Dias de la Semana

buff.. antes q nada intenta siempre hacer las fechas en formato date de sql.. asi te ahorras esto

puedes usar condicional en la consulta

Código MySQL:
Ver original
  1. select dia,
  2. case dia
  3.   when 'Lunes' then 1
  4.   when 'Martes' then 2
  5.   when 'Miercoles' then 3
  6.   when 'Jueves' then 4
  7.   when 'Viernes' then 5
  8.   when 'Sabado' then 6
  9.   when 'Domingo' then 7
  10. end as dia_num from eventos order by dia_num;
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 21/01/2010, 08:54
Avatar de gigoz  
Fecha de Ingreso: noviembre-2009
Mensajes: 106
Antigüedad: 15 años
Puntos: 1
Respuesta: Presentando Dias de la Semana

Y porque no creas una tabla en la base de datos de dias para saber que lunes es 1, martes es 2 y asi sucesivamente y lo puedes ordenar

Etiquetas: dias, semana
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 08:58.