Bonjour,

Aujourd'hui je m'adresse à vous car j'ai un problème.

J'ai un script qui va chercher dans une base de donnée une durée en seconde.

Quand je calcule en php le total cela me retourne par exemple un nombre: 1.844674407371371e19

Mais je cherche a retourner un nombre entier, comment faire ?

Merci :)

9 réponses


Bonjour,

il nous faudrait plus de détails :

  • le type de champ dans la base de données
  • ta/tes requêtes SQL
  • les traitements avant affichage

Bon week-end

Bonjour,

Je retourne le nombre d'heures découtes d'un flux audio en fonction d'une durée enregistrée dans une colonne duration.
Le script php fait un SUM de la colonne pour y retourner le nombres en secondes mais il y a trop de donnée que sa me retourne des nombres E quelques choses..

Cela va être difficile de trouver une solution sans avoir un minimum d'informations (cf. mon premier post), il faut des réponses exactes aux points cités...

Duration n'est pas un type de colonne, peut-être as-tu le code qui génère ta table ?
Est-ce que tu peux copier/coller, dans ta prochaine réponse, le bout de code lié à la requête et au traitement ?

J'ai un script qui enregistre le temps d'écoute dans une table comme sur la photo suivante:

Mon script ensuite php additione le temps d'écoute pour retourner un résultat en seconde :

$sql_temps_ecoute_s_annee = mysql_query('SELECT SUM(duration) AS total FROM log_data WHERE date_of_y = "'.$date_y.'"');

$somme_temps_ecoute_s_annee = mysql_result($sql_temps_ecoute_s_annee,0);

Donc sa me retourne un résultat en seconde, sauf que quand ce résultat est trop important cela retourne des nombres avec des E quelques choses...

De quel type est ta colonne Duration?

Elle est de type INT

Quand tu fais un var_dump($somme_temps_ecoute_s_annee);, ça te retourne quoi?

string(10) "2152549390"

Tu as des donnees pourries ?
Mets un WHERE duration < 10000
Histoire de filtrer.