Foros del Web » Programando para Internet » PHP »

Problema con DATEDIFF()

Estas en el tema de Problema con DATEDIFF() en el foro de PHP en Foros del Web. Hola, tengo el siguiente problema, estoy usando DATEDIFF(). Necesito sacar la diferencia de años, meses y dias de dos fechas, una se encuentra dentro de ...
  #1 (permalink)  
Antiguo 25/12/2008, 17:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Mensaje Problema con DATEDIFF()

Hola, tengo el siguiente problema, estoy usando DATEDIFF().

Necesito sacar la diferencia de años, meses y dias de dos fechas, una se encuentra dentro de una tabla en mysql y la otra es la fecha actual.

Tengo el siguiente codigo:
Código PHP:
/* infoUsuario devuelve la fecha de la base de datos correspondiente, y si le hago echo esta seteada, matricula es el usuario y por ultimo el formato que necesito que me devuelva*/
$tiempo_ano $base_datos->diferenciaHoras($sesion->infoUsuario['fecha_ingreso'], $sesion->matricula"Year");
        
$tiempo_mes $base_datos->diferenciaHoras($sesion->infoUsuario['fecha_ingreso'], $sesion->matricula"Month");
        
$tiempo_dia $base_datos->diferenciaHoras($sesion->infoUsuario['fecha_ingreso'], $sesion->matricula"Day");
        
/* Dentro de la clase esta la funcion que estoy llamando, la cual es la siguiente*/

/*diferenciaHoras - regresa la diferencia de horas de dos fechas*/
    
function diferenciaHoras($fecha$usuario$formato){
        
/*Seteamos la fecha actual en el mismo formato que la de la tabla*/
        
$fe_act date("Y-m-d");
        
$q "SELECT DATEDIFF('$formato','$fe_act','$fecha') FROM usuarios WHERE usuario = '$usuario'";
        
$resultado mysql_query($q$this->conexion);
        
        return 
$resultado;
    
//Termina la funcion
    

Mi problema es que no me esta retornando nada, incluso si le quito el formato para que me regrese solo en dias no funciona. Estoy usando mysql 5.0.51a y PHP 5.2.5. Sugerencias?
  #2 (permalink)  
Antiguo 26/12/2008, 02:08
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Respuesta: Problema con DATEDIFF()

mysql_query() devuelve false en caso de error, o el id del conjunto resultado. En todo caso, nunca el valor del select.

Comprueba si ha devuelto false, en ese caso es un error de la consulta, haces un echo de la consulta, y de mysql_error(), que es el mensaje de error que devuelve mysql.

Para coger el valor del select, usa mysql_result o mysql_fetch_assoc.

Aunque el error es obvio, si lees la documentacion de datediff http://dev.mysql.com/doc/refman/5.0/...ction_datediff
  #3 (permalink)  
Antiguo 26/12/2008, 12:29
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Problema con DATEDIFF()

Gracias DarkJ, efectivamente ese es el problema, solucionado!! :)

Saludos
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:53.