Foros del Web » Programando para Internet » PHP »

difrencia de horas en mysql

Estas en el tema de difrencia de horas en mysql en el foro de PHP en Foros del Web. hora amigos encontre este comando en mysql para saber el tiempo entre dos fecha tipo datetime mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001'); -> '-00:00:00.000001' mysql> ...
  #1 (permalink)  
Antiguo 08/02/2006, 10:35
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
difrencia de horas en mysql

hora amigos encontre este comando en mysql
para saber el tiempo entre dos fecha tipo datetime

mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001','1997-12-30 01:01:01.000002');
-> '46:58:57.999999'

como puedo esto ponerlo en mi codigo de php supongo que
debo abrir una conexion igual como si fuera hacer un
insert o un update pero no tengo idea que como hacerle

espero sus comentarios
__________________
gerardo
  #2 (permalink)  
Antiguo 08/02/2006, 10:44
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
De acuerdo

hola chalchis je te sugiero buscar antes en las FAQ'S del foro... te dejo el link en donde ya se habia tratado este tema con anterioridad http://www.forosdelweb.com/showthrea...ferencia+horas
  #3 (permalink)  
Antiguo 08/02/2006, 10:49
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Sonrisa gracias mauled

gracias por responder lo que pasa que deseo saber como puedo
pasar ese query dentro de mi codigo de php
ya varios moderadores me recomiendan utilizar los comandos de mysql
ya que las fechas las tengo almacenadas en base de datos
de mysql

saludos y gracias

mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
mysql> SELECT DATEDIFF('1997-11-31 23:59:59','1997-12-31');
-> -30


http://c.conclase.net/mysql/index.php?fun=DATEDIFF
__________________
gerardo
  #4 (permalink)  
Antiguo 08/02/2006, 11:30
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
intente hacer esto

//previamente hice una conexion y seleccione la base de datos

hola amigos intente hacer esto pero no me imprimer nada estara bien
esto

espero sus comentarios
saludos

$sqlfecha="SELECT DATEDIFF('2006-02-07 23:59:59','2006-02-08')";
$diferencia = mysql_query($sqlfecha, $conexion);
echo $diferencia;


//cierro la conexion
__________________
gerardo
  #5 (permalink)  
Antiguo 08/02/2006, 11:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Debes usar la función de PHP "mysql_result()" para acceder al resultado .. que en definitia es una "columna" sólo .. lo que pasa que como no usas un "ALIAS" para esa función que aplicas .. no tiene un nombre por el cual accederla sino que tienes que accederlo por "n°" de "columna" del resultado ..

Código PHP:
<?
$sqlfecha
="SELECT DATEDIFF('2006-02-07 23:59:59','2006-02-08')"
$resultado mysql_query($sqlfecha$conexion);
$diferencia=mysql_result($resultado,0);
echo 
$diferencia;
?>
Para que lo veas más claro puedes usar un "Alias" del SQL de Mysql para dar un nombre a ese "resultado" de tu aplicación de funciones y demás:

Código PHP:
<?
$sqlfecha
="SELECT DATEDIFF('2006-02-07 23:59:59','2006-02-08') AS resultado"
$resultado mysql_query($sqlfecha$conexion);
$diferencia=mysql_result($resultado,0,"diferencia");
echo 
$diferencia;
?>
Un saludo,
  #6 (permalink)  
Antiguo 08/02/2006, 11:50
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
graciashola cluste probe le ultimo script

acabo de probar el ultimo script con el alias
y me sale error
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/sitios/htdocs/Php/insumos.php on line 19

$diferencia=mysql_result($resultado,0,"diferencia" );

que sera o estoy entendiendo algo mal
espero tus comentarios
__________________
gerardo
  #7 (permalink)  
Antiguo 08/02/2006, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Debería funcionar, pero de todas formas revisa bien tu consulta SQL si se ejecutó correctamente:

$resultado = mysql_query($sqlfecha, $conexion) or die (mysql_error());

Un saludo,
  #8 (permalink)  
Antiguo 08/02/2006, 12:14
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
me sale esto

si pongo el mysql_error

$sqlfecha="SELECT DATEDIFF('2006-02-07 23:59:59','2006-02-08') AS resultado";
$resultado = mysql_query($sqlfecha, $conexion)or die (mysql_error()); ;
$diferencia=mysql_result($resultado,0,"diferencia" );
echo $diferencia;

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '('2006-02-07 23:59:59','2006-02-08') AS resultado' at line 1
__________________
gerardo
  #9 (permalink)  
Antiguo 08/02/2006, 12:31
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
sera que sea por la version????

tengo la version
Versión del servidor MySQL: 4.0.15
__________________
gerardo
  #10 (permalink)  
Antiguo 08/02/2006, 12:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pues si, ese es el problema.

Tienes alternativas SQL a "DATEDIFF()":
http://www.tecnorama.org/document.php?id_doc=69

Un saludo,
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 21:18.