Jump to content
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.

noursane

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

Recommended Posts

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.

Share this post


Link to post
Share on other 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

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

Share this post


Link to post
Share on other 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,

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

Location : Carpentras

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())

Edited by Florian.C

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...