Foros del Web » Programando para Internet » PHP »

Comparar fechas php + mysql

Estas en el tema de Comparar fechas php + mysql en el foro de PHP en Foros del Web. Hola, tengo un db en mysql en una tabla tengo un campo timestamp de 14 digitos. Lo que quiero hacer es un script que me ...
  #1 (permalink)  
Antiguo 01/11/2003, 13:25
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 15 años, 9 meses
Puntos: 0
Comparar fechas php + mysql

Hola, tengo un db en mysql en una tabla tengo un campo timestamp de 14 digitos.

Lo que quiero hacer es un script que me compare la fecha actual de la pc con la fecha del campo y que me devuelva falso o verdadero dependiendo si es menor a 3 meses o no.

Me pudieran ayudar? :$

Gracias de antemano.
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #2 (permalink)  
Antiguo 01/11/2003, 14:43
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
mira cuantos ejemplos...

http://www.mysql.com/doc/en/Date_and...functions.html
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 01/11/2003, 14:50
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 15 años, 9 meses
Puntos: 0
jejeje que pena eso me pasa por no buscar en la documentación de mysql :P

Este es el codigo que usaré:

Código PHP:
mysqlSELECT something FROM tbl_name
           WHERE TO_DAYS
(NOW()) - TO_DAYS(date_col) <= 30
No saben si esto mismo lo puedo utilizar en una condición if?

Muchas gracias nuevo.
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx

Última edición por castordj; 01/11/2003 a las 14:53
  #4 (permalink)  
Antiguo 01/11/2003, 15:00
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
de nada, yo no lo he probado, pero seguramente si que se pueda, es cuestion de probar.... ;)

eso es el error tipico que veo que todos cometemos, aprendemos php y mysql lo dejamos, solo sabemos usar el inser y modifi,,, jejeje yo el 1º, pero Cluster ya me toko las orejas un poco y me explico lo importante que era mysql para php... yo diria como HERMANOS, uno sin el otro no es gran cosa... y todo en 1 linea... un escandalo
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 01/11/2003 a las 15:03
  #5 (permalink)  
Antiguo 01/11/2003, 15:11
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 15 años, 9 meses
Puntos: 0
OK pues a probar se ha dicho!

Muchas gracias nuevo!

Parte editada:

Ahora me surge un nuevo problema, lo que pasa es que quiero que el programa me muestre los resultados que tengan un timestamp menor a 90 dias, la bronca es que como hago varios registros para un mismo usuario que son: usario y timestamp, el sistema me compara todos los registros y si hay dos registros del mismo usuario y un timestamp menor a 90 dias me muestra dos veces al usuario.

Como le puedo hacer para que me compare solo el último registro de cada usuario. ?

Saludos!
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx

Última edición por castordj; 01/11/2003 a las 15:24
  #6 (permalink)  
Antiguo 01/11/2003, 17:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sigue siendo SQL lo que nececistas ..

SQL significa "Lenguaje Estructurado de Consultas". Al igual que ya sabes PHP o lo estás aprendiendo .. ahora toca aprender SQL para saber como "rescatar" y pedir datos (o insertarlos y actualizarlos) a tu Base de datos (Msyql en este caso .. o la que corresponda).

El "SQL" particular de cada motor de Base de datos (manejador) lo detalla en su web oficial .. en el caso de Mysql en: www.mysql.com

Lo que propones .. no es mas que usar "condicionales", pero del lenguaje SQL:

SELECT * FROM tabla WHERE usuario='$usuario' AND fecha > ($fechahoy+$noventadias)

Donde .. $fechahoy puede ser = time() (o NOW() si usas campos TIMESTAMP en tu tabla de tu BD) y $noventadias .. eso mismo 90 dias expresados en segundos (u obtenido con alguna de las funciones de tratamiento de fechas que tiene Mysql). (no he mirado mucho la condición .. pero esa es la idea .. Componer la condición)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 03/11/2003, 10:20
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 15 años, 9 meses
Puntos: 0
Muchas gracias Cluster, ahora funciona mucho mejor mi programa, la bronca es ahora es si puedo limitar los resultados de la consulta, a el ultimo timestamp ingresado por cada usuario?

Gracias
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #8 (permalink)  
Antiguo 03/11/2003, 10:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. ahí tal vez tengas que agrupar por usuario (GROUP BY campo) y el último timestamp .. podría ser MAX(campo_timestamp) (si esa fecha es progresiva .. es decir, que nunca se introducirá una fecha anterior a la última que se ingresó).

Creo que estos temas y "afinamientos" ya tendrías que ir a preguntar al foro de "Base de datos" .. para que te orienten mejor por la sentencia SQL adecuada y optima. Pero, para eso sería bueno que indicases la estructura de tu tabla (con tipo de los campos .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 03/11/2003, 10:49
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 15 años, 9 meses
Puntos: 0
Muchas gracias Cluster, en verdad fuiste de mucha ayuda, voy a chekar en los foros de bases de datos.

Saludos y disculpen la molestia.
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
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 11:02.