Afficher nombre de secondes en temps
Posté : 15 nov. 2014, 00:53
Hello 
Nouvelle interrogation de mon coté
Voilà, sur une page php qui affiche quelques données obtenues par uen requète, je voudrais que l'affichage d'un temps qui est totalisé en nombre de secondes par la requete, se fasse en format temps (00:00:00) .
Voici la requète qui me permet de recueprer les données :
Je défini total_time comme la somme de toutes les durées d'interventions.
Voici le code complet de ma page PHP :
Actuellement, ca s'affiche en secondes, ce qui n'est pas top. Je oudrias que ca s'affiche en temps , alors voilà ce que j'ai essayé :
J'ai ajouté la ligne suivante :
J'ai testé en mettant
pour lui faire afficher volontairement 00:01:00 masi ca ne focntionne pas non plus. J'ai l'impression que c'est tout simplement comme si la ligne n'était même pas prise en compte.
Si quelqu'un a une piste, ca serait cool
Merci
Couin
Nouvelle interrogation de mon coté
Voilà, sur une page php qui affiche quelques données obtenues par uen requète, je voudrais que l'affichage d'un temps qui est totalisé en nombre de secondes par la requete, se fasse en format temps (00:00:00) .
Voici la requète qui me permet de recueprer les données :
SELECT inter_stamp, id_eqpt, eqpt_name, SUM( inter_stamp ) AS total_time
FROM trs_events
LEFT JOIN trs_eqpts ON trs_eqpts.eqpt_id = trs_events.id_eqpt
GROUP BY id_eqpt
ORDER BY `total_time` DESC
LIMIT 5
Dans laquelle "inter_stamp" est le nombre de secondes que dure une intervention , id_eqpt était l'ID de l'équipement sur lequel a lieu l'intervention, eqpt_name est son nom. La table trs_events est la table dans laquelle sont enregiqstrés chaque intervention (évenements), trs_eqpts est la table listant tous les équipements. Une jonction entre les deux t ables permet d'avoir le nom de l'équipement de chaque itnervention en fonction de l'ID de l'équipement.Je défini total_time comme la somme de toutes les durées d'interventions.
Voici le code complet de ma page PHP :
<tr>
<?php
//requête SQL:
$sql = "SELECT inter_stamp, id_eqpt, eqpt_name, SUM( inter_stamp ) AS total_time
FROM trs_events
LEFT JOIN trs_eqpts ON trs_eqpts.eqpt_id = trs_events.id_eqpt
GROUP BY id_eqpt
ORDER BY `total_time` DESC
LIMITE 5
";
//exécution de la requête:
$requete = mysql_query( $sql ) ;
?>
<?php
//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{ ?>
<td><?php echo($result->eqpt_name);?></td><td><?php echo($result->total_time);?></td>
<?php
} ?>
</tr>
L'idée étant de faire un top 5 des équipements qui ont nécéssité le plus de temps d'intervention, avec bien sur , le temps total d'intervention pour chaqu'un d'eux. Actuellement, ca s'affiche en secondes, ce qui n'est pas top. Je oudrias que ca s'affiche en temps , alors voilà ce que j'ai essayé :
J'ai ajouté la ligne suivante :
$total_time = gmdate("H:i:s", $total_time);
avant celle ci :
$requete = mysql_query( $sql ) ;
Mais à ma grande déception, cela ne fonctionne pas . J'ai testé en mettant
$total_time = gmdate("H:i:s", 60); pour lui faire afficher volontairement 00:01:00 masi ca ne focntionne pas non plus. J'ai l'impression que c'est tout simplement comme si la ligne n'était même pas prise en compte.
Si quelqu'un a une piste, ca serait cool
Merci
Couin