Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

calculo de dias

Estas en el tema de calculo de dias en el foro de Mysql en Foros del Web. estimados, tengo en mi tabla de mysql una columna DATETIME que se llama ultima_conexion la idea es mostrar la ultima conexion del usuario al mejor ...
  #1 (permalink)  
Antiguo 17/08/2007, 14:38
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
De acuerdo calculo de dias

estimados, tengo en mi tabla de mysql una columna DATETIME que se llama ultima_conexion

la idea es mostrar la ultima conexion del usuario al mejor estilo

el usuario se conecto por ultima vez hoy
el usuario se conecto por ultima vez ayer
el usuario se conecto por ultima vez esta semana
el usuario se conecto por ultima vez este mes
el usuario se conecto por ultima vez hace n meses

la cantidad de dias que hay entre hoy y la ultima_conexion la obtengo con
TO_DAYS( NOW( ) ) - TO_DAYS( usuarios.ultimo_ingreso )

creo que deberia hacerlo con un CASE por ej....

Código PHP:
SELECT 
CASE TO_DAYSNOW( ) ) - TO_DAYSusuarios.ultimo_ingreso 
WHEN 0 
THEN 
'Hoy'
WHEN 1 
THEN 
'Ayer'
END AS ultima_conexion 
eso funciona ok para ayer y hoy, pero no tengo idea como hacer las demas opciones

ademas queria saber si me conviene hacerlo directamente desde mysql, o hago todo este calculin con PHP, vale mencionar que muestro de a 20 usuarios por pagina y a cada uno le quiero poner su ultima conexion
espero me puedan dar una mano
saludos!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 18/08/2007, 11:35
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 7
Re: calculo de dias

Yo lo haria desde php. Teniendo el dato de la ultima conexion es facil sacar la cuenta de si es ayer, la semana pasada o cuando.
  #3 (permalink)  
Antiguo 19/08/2007, 19:56
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: calculo de dias

lo teno
usuarios.ultimo_ingreso, ahi obtengo la cantidad de dias desde el ultimo login.
solo queria saber de que manera deberia hacerlo para no hacer muchas condiciones
gracias por responder!
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 20/08/2007, 03:57
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 9 meses
Puntos: 12
Re: calculo de dias

A ver con esto:
Código:
SELECT CASE
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa))=1
	THEN 'hoy'
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa))=2
	THEN 'ayer'
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa)) BETWEEN 3 AND 7
	THEN 'semana'
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa)) BETWEEN 8 AND 31
	THEN 'mes'
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa)) BETWEEN 32 AND 365
	THEN 'año'
	WHEN (TO_DAYS(NOW())-TO_DAYS(fetxa))>365
	THEN 'más de un año'
	END AS ultima
FROM tabla
Bueno, para rematar deberías controlar el número de días que tiene el mes actual y el año actual, pero con esto tienes un comienzo.

Saludos!
  #5 (permalink)  
Antiguo 21/08/2007, 12:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: calculo de dias

no es mucha carga para la base de datos hacer esto?????????
__________________
On error no hago nada porque deje de fumar...
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 12:07.