Aller au contenu
Les Forums d'Infoclimat

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

Quel est le logiciel utilisée pour faire des courbes à partir de base de donnée?


noursane
 Partager

Messages recommandés

Bonsoir,

Quel est le logiciel utilise pour réalise des courbes(température,pressure,humidité...)à travers de données dans la base de donnée? comment utilise(quel est le programme utilisée)?

Merci d'avance.

Lien à poster
Partager sur d’autres sites

  • 2 weeks later...

Bonsoir,

je réalise un courbe dynamique à partir MySQL avec librairie www.highcharts.com  , mon base de donnée contient le température sur 5 jours(heure par heure) ,les données insérer dans ma base à partir d'un fichier XML

mais sur l'axe x donner juste le nom de jours ou les heures (ne donner pas les deux même temps).

 

xAxis: {
categories: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']
},

ou 

xAxis: {

categories: ['1:00', '2:00', '3:00', '4:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '20:00', '21:00', '22:00', '23:00', '24:00']
},

voici la structure de base de donnée:

WP_20170407_004.jpg

résultats:

WP_20170407_005.jpg

mon besoin: à partir de l'exemple ce dessus de structure base de donnée réalise un courbe(juste pour le vendredi heure par heure)

Merci,

structure de base de donnees.docx

Lien à poster
Partager sur d’autres sites

 

Bonsoir,

 

je réalise un courbe dynamique à partir MySQL avec librairie www.highcharts.com  , mon base de donnée contient le température sur 5 jours(heure par heure) ,les données insérer dans ma base à partir d'un fichier XML de l'URL: http://api.tameteo.com/index.php?api_lang=fr&localidad=8952&affiliate_id=wf7toya165cq&v=2&h=1

 fichier d'nsertion:

  insertion.php

 

<?php

$host="localhost";
$base="bd";
$login="root";
$pwd="";

$bdd=mysqli_connect($host, $login, $pwd);
mysqli_select_db($bdd,$base) ;

$file='http://api.tameteo.com/index.php?api_lang=fr&localidad=8952&affiliate_id=wf7toya165cq&v=2&h=1';

$xml =simplexml_load_file($file);

    $sql1='Delete from heurej ';
        if ( ! mysqli_query($bdd, $sql1)) echo 'Erreur : '.mysqli_error($bdd).'<br>'.$sql1.'<br>';

foreach($xml->location as $location)
{

    foreach($location->day as $day) {
    
        $name=$day['name'];
        
        $symbol=$day->symbol['value'];
        $tempmin=$day->tempmin['value'];
        $tempmax=$day->tempmax['value'];
        $wind=$day->wind['value'];
        $rain=$day->rain['value'];
        $humidity=$day->humidity['value'];
        $pressure=$day->pressure['value'];
        $snow=$day->snowline['value'];
        $sunrise=$day->sun['in'];
        $sunriseo=$day->sun['out'];
        $milieu=$day->sun['mid'];
        $moonrise=$day->moon['in'];
        $moonriseo=$day->moon['out'];
        $lumiere=$day->moon['lumi'];
        $descreption=$day->moon['desc'];
        $info=$day->local_info['local_time'];
        $heure=$day->heure['value'];
      


      $sql='INSERT INTO heurej (nom,heure,temperature,vent,pluie,humidite,pression,ligneneige,nuages,windchill) values("'.$name.'","'.$heure.
      '","'.$temperature.'","'.$vent.'","'.$pluie.'","'.$humidite.'","'.$pression.'","'.$snowline.'","'.$clouds.'","'.$windchill.'")'
;
           if ( ! mysqli_query($bdd, $sql)) echo 'Erreur : '.mysqli_error($bdd).'<br>'.$sql.'<br>';

            }

}

?>

 

structure de base de donnée après l'insertion:

WP_20170409_001.jpg

 

fichier temperature.php pour afficher le valeur des température à partir de la structure de base de donnée ou dessus.

 

temperature.php

 

<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('bd', $base) ;

?>
<?php
$return=array();

$sql = 'SELECT temperature FROM heurej order by nom';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

while ($data = mysql_fetch_array($req)) {       
$return[0][] = $data['temperature'];


}

$result = array( 
0 => array('name' => 'temperature', 'data' => $return[0]),

);
echo json_encode($result, JSON_NUMERIC_CHECK);
?>

fichier temperaturephp.php pour afficher le courbe de temperature.

temperaturephp.php:

 

<html>
<body>
</div>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

$(function () {
var chart;
$(document).ready(function() {
$.getJSON("temperaturephp.php", function(json) {

chart = new Highcharts.Chart({
chart: {
renderTo: 'container',52
type: 'line',
marginRight: 130,
marginBottom: 25

},

title: {
text: "température(Heure Par Heure) ",
x: -20 //center

},
subtitle: {
text: '',
x: -20

},
xAxis: {
categories: ['1:00', '2:00', '3:00', '4:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '20:00', '21:00', '22:00', '23:00', '24:00']
},
yAxis: {
title: {
text: 'Temperature'
},
plotLines: [{
value: 0,
width: 1,
color: '#ff0022'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y;
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 200,
borderWidth: 0
},
series: json
});
});

});

});
</script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

</body>
</html>

 

résultats:

WP_20170409_002.jpg

 

mon besoin: à partir de l'exemple ou dessus de structure de base de donnée réalise un courbe de température de  5 jours(voir le nom de 5 jours sur l'axe x) avec le 24 de heures de chaque jour .
  le chose incomplète dans l'exemple de figure que afficher  ou dessus c'est le nom de jours comme ça sur l'axe x: Dimanche 1:00 2:00 3:00 ............Lundi 1:00 2:00........... Mardi 1:00 2:00 3:00 4:00 ......................Mercredi 1:00 2:00 3:00.............jeudi 1:00 2:00 3:00......... 

 

Qui a un exemple qui peut me donner mon besoin .
 

Merci d'avance,

 

 

Lien à poster
Partager sur d’autres sites

Salut,

 

Si j'avais à faire ceci, je ferais une récup au niveau du while des dates, en personnalisant de cette façon: Dimanche 1h, Dimanche 2h , etc... en tout mettant dans une variable (en utilisant les champs nom et heure de ta base de données).

 

$date = "'Dimanche 1h', 'Dimanche 2h'" ; //etc etc...

 

Après comme ça au niveau du js:

xAxis: {
categories: [<?php $date ; ?>]
}

Il faudrait peut être raccourcir les noms des jours, sinon le graphique sera chargé (avec substr())

Modifié par Florian.C
Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Partager

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...