Foros del Web » Programando para Internet » PHP »

Separar resultados mysql por dias...Como?

Estas en el tema de Separar resultados mysql por dias...Como? en el foro de PHP en Foros del Web. Hola tengo un problema que no encuentro ayuda ni soluncion, aunque creo que es sencillo... Realizo una consulta mysql para que me liste las imagenes ...
  #1 (permalink)  
Antiguo 27/03/2012, 12:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Separar resultados mysql por dias...Como?

Hola tengo un problema que no encuentro ayuda ni soluncion, aunque creo que es sencillo...

Realizo una consulta mysql para que me liste las imagenes que se han subido a mi server... una vez obtenidos los resultados me gustaria que me los mostrase separasos por dias, semanas, meses...
Ejemplo:

imagen23...
imagen43...
imagen23...
-------
hace mas de una semana
-------
imagen12...
imagen34...
-------
hace mas de 1 mes
-------
imagen54...
...

No se como hacer el codigo para que me añada lo de: hace mas de una semana, hace mas de 1 mes....

Espero puedan ayudarme o sepan de algun tutorial codigo o algo... Gracias.
  #2 (permalink)  
Antiguo 27/03/2012, 12:16
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Separar resultados mysql por dias...Como?

haces la consulta con ORDER BY fecha luego vas verificando hace cuantos días fue ..

Si dias > 7 && dias < 30 // hace una semana...

es una idea.

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 27/03/2012, 12:17
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Separar resultados mysql por dias...Como?

Tu solución es sencilla, primero revisa la función DATEDIFF() que retorna la diferencia entre una fecha y otra:

Código:
mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
        -> 1
Para el caso del ejemplo vendría siendo sólo un día de diferencia, te en cuenta que la función sólo trabaja con la sección de fecha.

¿Y qué tal si ahora agrupamos por esa diferencia basándonos en la fecha de hoy y la de la inserción de la imagen?

Documentación: http://dev.mysql.com/doc/refman/5.5/...ction_datediff

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #4 (permalink)  
Antiguo 27/03/2012, 18:59
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Separar resultados mysql por dias...Como?

Gracias por tu respuesta JairLizcano... yo pense en hacerlo en php pero es mejor tu idea... el unico problema es que no se como hacer todo en una consulta... por ejemplo que son un dia de diff que les de un valor extra para despues con un if mostrarlos en php, si alguien sabe???
  #5 (permalink)  
Antiguo 27/03/2012, 22:53
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Separar resultados mysql por dias...Como?

Te dejo esta idea:

Código:
mysql> SELECT img.id, img.ubicacion, img.formato, DATEDIFF(NOW(), img.fecha_publicacion) AS diferencia FROM imagenes img ORDER BY diferencia ASC
Me cuentas qué tal te fue.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #6 (permalink)  
Antiguo 28/03/2012, 17:32
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Separar resultados mysql por dias...Como?

Gracias por la ayuda, JairLizcano... he estado leyendo mas sobre mysql y ya he entendido tu idea y me ha solucionado el problema... ya que los calculos los hace la bd y despues lo separo con un if...

Gracias otra vez, ya estaba medio loco, con miles de lineas de codigo php para hacer lo mismo que se hace en mysql, solo creando una nueva columna de comparacion...

Un saludo.
  #7 (permalink)  
Antiguo 28/03/2012, 21:48
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Separar resultados mysql por dias...Como?

Si lo puede hacer la base de datos, muchísimo mejor. En términos de eficiencia, aún más.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Etiquetas: imagenes, mysql, resultados
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 01:37.