[Résolu] récupérer un objet au format "time"

récupérer un objet au format "time" [Résolu] - SQL/NoSQL - Programmation

Marsh Posté le 10-08-2005 à 10:13:59    

Bonjour,  
 
j'ai écrit la requête suivante pour récupérer la différence entre deux heures $time et $time1 (de type "time" ) :
 
$reqdiff=mysqli_query($Connect, "SELECT TIMEDIFF($time1, $time)" );
$timediff=mysqli_fetch_field($reqdiff);  
echo $timediff;
 
je récupère le résultat dans la variable $timediff et quand je veux l'afficher ça me donne :
 
Object id #7
 
donc ma question est : je voudrais formater cette variable $timediff au format "time" pour l'insérer dans une table Mysql.
Quand je fais un insert dans la table avec directement $timediff ça ne marche pas.
 
Une idée ? :sarcastic:  
 
Merci beaucoup d'avance !!


Message édité par flores le 10-08-2005 à 14:33:15
Reply

Marsh Posté le 10-08-2005 à 10:13:59   

Reply

Marsh Posté le 10-08-2005 à 10:35:15    

Y a pas des fonctions en php pour faire ça ?
 
Parce que passer par un accès en base ... c'est pas terrible ;)

Reply

Marsh Posté le 10-08-2005 à 10:44:06    

Oui tu as bien raison, mais j'en ai trouvé certaines qui calculent une différence de date en nombre de mois, en nombre de jours, mais je ne trouve pas la fonction mystère qui doit exister quelque part et qui calcule une différence en nombre d'heures avec une précision à la seconde (type '00:00:00').
 
si quelqu'un la connaît... :whistle:  
 
Pfffff j'y arrive pas alors que ça doit être tout bête ! héhé.
 

Reply

Marsh Posté le 10-08-2005 à 11:27:39    

Essaye quelque chose comme :
 
$timediff = strftime("%H:%M:%S", strtotime($time1) - strtotime($time));
 
http://www.php.net/manual/fr/function.strtotime.php
http://www.php.net/manual/fr/function.strftime.php
 
C'est pas dit que ça marche, mais c'est vers ce genre de fonctions qu'il doit falloir se tourner ;)

Reply

Marsh Posté le 10-08-2005 à 11:31:06    

j'ai écrit ça :
 
$time = strtotime($date);
$time1 = strtotime($date1);
$res = date("H:i:s", ($time1 - $time));
 
ça me donne :
00:01:36
 
donc ça marche !!  :bounce:  
 
Maintenant faut que je trouve comment repasser en format Mysql pour l'insert.  :sweat:
 
EDIT : j'avais pas vu la réponse de beegee, grillée  ;)


Message édité par flores le 10-08-2005 à 11:33:45
Reply

Marsh Posté le 10-08-2005 à 11:38:41    

Quelque chose comme :
 

Code :
  1. INSERT INTO maTable
  2. (monChampDate)
  3. VALUES
  4. (DATE_FORMAT($res, '%H:%i%s');

Reply

Marsh Posté le 10-08-2005 à 11:49:15    

Faut que je mette quel type pour le champ de la table mysql qui va recupérer le resultat : date, datetime, varchar ?
 
avec le type time ça ne passe pas.

Reply

Marsh Posté le 10-08-2005 à 11:58:18    

mets un varchar de 8

Reply

Marsh Posté le 10-08-2005 à 12:10:08    

j'ai mis un varchar(8), et comme j'avais déjà écrit $res = date("H:i:s", ($time1 - $time)); j'ai juste mis dans VALUES le champ '$res' (sans oublier les guillemets simples !)et ça marche  :D  
 
merci beaucoup beegee !!
bonne journée !  :hello:  
 

Reply

Marsh Posté le 10-08-2005 à 12:15:07    

de rien   :D

Reply

Marsh Posté le 10-08-2005 à 12:15:07   

Reply

Marsh Posté le 10-08-2005 à 12:18:17    

ah oui et merci betsamee aussi ! (j'avais pas vu que ça avait changé de personne au fil des messages  :pt1cable:  )

Reply

Marsh Posté le 10-08-2005 à 12:31:15    

:sol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed