Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error en PHP, comparar fechas y mostrar la diferencia de días

Estas en el tema de Error en PHP, comparar fechas y mostrar la diferencia de días en el foro de PHP en Foros del Web. Hola amigos, tengo un problema, hice un codigo, para obtener la fecha de una tabla, compararla con el día de hoy, y mostrar por cada ...
  #1 (permalink)  
Antiguo 26/08/2013, 11:29
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Busqueda Error en PHP, comparar fechas y mostrar la diferencia de días

Hola amigos, tengo un problema,
hice un codigo, para obtener la fecha de una tabla, compararla con el día de hoy, y mostrar por cada registro encontrado los días transcurridos, el problema es que no los muestra, no sé que estoy haciendo mal, alguien me puede orientar?
el código es:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4.  
  5. $q = "SELECT `userid` , MAX( `actiondate` ) AS `actiondate` \n"
  6.     . "FROM `vtiger_audit_trial` \n"
  7.     . "GROUP BY `userid` \n"
  8.     . "ORDER BY `actiondate` DESC";
  9. $result=mysql_num_rows($q);
  10.  
  11.  
  12. if ($result>=1)
  13.     {
  14. while ($res = mysql_fetch_assoc($q)) {
  15.  
  16. $userid =$res['userid'];
  17. $actiondate =$res['actiondate'];
  18.  
  19. $hoy= date("Y-m-d H:i:s");
  20.  
  21.     function dias_transcurridos($hoy,$actiondate)
  22.         {
  23.             $dias   = (strtotime($hoy)-strtotime($actiondate))/86400;
  24.             $dias   = abs($dias); $dias = floor($dias);    
  25.             return $dias;
  26.         }
  27. // Ejemplo de uso:
  28. $dias = dias_transcurridos($hoy,$actiondate);
  29. // Salida : 17
  30.  
  31. echo $dias;
  32.      
  33.     }  
  34. }
  35. else
  36.     {
  37.  
  38. }
  39.  
  40. ?>



Muchas gracias...
  #2 (permalink)  
Antiguo 26/08/2013, 11:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

¿Es posible que nos puedas decir algo más?

Es decir, ¿recibes algún error?

¿No muestra nada?

Te sugiero depurar tu código, porque de otra forma es como si nos dijeras "adivinen que hago mal".
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/08/2013, 11:56
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Es posible que nos puedas decir algo más?

Es decir, ¿recibes algún error?

¿No muestra nada?

Te sugiero depurar tu código, porque de otra forma es como si nos dijeras "adivinen que hago mal".
jejeje

Se me pasó... asi es, la pantalla se muestra en blanco, segun yo, mostraría el "echo" pero no se ve nada, ni error ni nada...

Gracias por la ayuda
  #4 (permalink)  
Antiguo 26/08/2013, 11:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Si sale la pantalla en blanco entonces tienes un error fatal y eso detiene la ejecución del script, revisa en el log de errores por alguna posible causa.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/08/2013, 12:29
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Cita:
Iniciado por phercin Ver Mensaje
Hola amigos, tengo un problema,
hice un codigo, para obtener la fecha de una tabla, compararla con el día de hoy, y mostrar por cada registro encontrado los días transcurridos, el problema es que no los muestra, no sé que estoy haciendo mal, alguien me puede orientar?
el código es:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4.  
  5. $q = "SELECT `userid` , MAX( `actiondate` ) AS `actiondate` \n"
  6.     . "FROM `vtiger_audit_trial` \n"
  7.     . "GROUP BY `userid` \n"
  8.     . "ORDER BY `actiondate` DESC";
  9. $result=mysql_num_rows($q);
  10.  
  11.  
  12. if ($result>=1)
  13.     {
  14. while ($res = mysql_fetch_assoc($q)) {
  15.  
  16. $userid =$res['userid'];
  17. $actiondate =$res['actiondate'];
  18.  
  19. $hoy= date("Y-m-d H:i:s");
  20.  
  21.     function dias_transcurridos($hoy,$actiondate)
  22.         {
  23.             $dias   = (strtotime($hoy)-strtotime($actiondate))/86400;
  24.             $dias   = abs($dias); $dias = floor($dias);    
  25.             return $dias;
  26.         }
  27. // Ejemplo de uso:
  28. $dias = dias_transcurridos($hoy,$actiondate);
  29. // Salida : 17
  30.  
  31. echo $dias;
  32.      
  33.     }  
  34. }
  35. else
  36.     {
  37.  
  38. }
  39.  
  40. ?>



Muchas gracias...
Posiblemente meta la gamba por no estar acostumbrado ha hacerlo así, pero....
Por que insertas saltos de línea dentro de la sentencia SQL? Ponlo en una misma linea, o si lo haces para que se vea mejor, haz el salto de linea, pero en el editor, no pongas \n en la sentencia, por otro lado, yo siempre termino las sentencias SQL con un ; costumbres supongo....
  #6 (permalink)  
Antiguo 26/08/2013, 12:53
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

La diferencia en dias la puedes calcular desde la consulta con la función datediff, te sugiero que leas el manual MySQL cuenta con muchas funciones para tratar con fechas:
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 26/08/2013, 15:41
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Gracias a todos por su ayuda,,, ya encontré el error:

Código PHP:
Ver original
  1. $q = mysql_query ("SELECT `userid` , MAX( `actiondate` ) AS `actiondate` FROM `vtiger_audit_trial` GROUP BY `userid` ORDER BY `actiondate` DESC");
  2. $result=mysql_num_rows($q);
  #8 (permalink)  
Antiguo 26/08/2013, 16:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

No entiendo el "error".

Al menos podrías tratar de explicarlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 26/08/2013, 16:17
Avatar de phercin  
Fecha de Ingreso: febrero-2009
Ubicación: Pachuca Hidalgo
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Cita:
Iniciado por pateketrueke Ver Mensaje
No entiendo el "error".

Al menos podrías tratar de explicarlo.
Si claro...

al hacer la consulta puse originalmente:

Código PHP:
Ver original
  1. $q = "SELECT `userid` , MAX( `actiondate` ) AS `actiondate` FROM `vtiger_audit_trial` GROUP BY `userid` ORDER BY `actiondate` DESC";

Bueno, ya en una sola linea como sugirieron, pero me falto la sentencia de consulta:

Código PHP:
Ver original
  1. $q = mysql_query ("SELECT `userid` , MAX( `actiondate` ) AS `actiondate` FROM `vtiger_audit_trial` GROUP BY `userid` ORDER BY `actiondate` DESC");

mysql_query (

  #10 (permalink)  
Antiguo 26/08/2013, 17:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en PHP, comparar fechas y mostrar la diferencia de días

Oh ya, vaya, tan obvio y no pudimos verlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: diferencia, mysql, registro, select, sql, tabla
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 00:01.