A la rigeur je te fait parvenir mon code é tu me di ske ten pense... en mm temps je vais mètre des alerts un peu partour é jte diré ou le programme sarrète...
Voici le code:
<?php require_once ("jpgraph.php"); require_once ("jpgraph_line.php"); //include("config.php");
$num_niveau = $_POST['num_niveau']; $num_local = $_POST['num_local']; $num_enceinte = $_POST['num_enceinte']; $heure = $_POST['heure']; $jour = $_POST['jour']; $mois = $_POST['mois']; $annee = $_POST['annee'];
if ($jour <10) { $reqjour = "0$jour"; } else { $reqjour = $jour; }
if ($mois <10) { $reqmois = "0$mois"; } else { $reqmois = $mois; }
if ($heure < 10) { $reqheure = "0$heure"; } else { $reqheure = $heure; }
$date_requete = "$annee-$reqmois-$reqjour"; // On construit la variable à envoyer a la requete pour avoir une variable de type Date (MySQL)
$host="localhost"; $bdd="inbp";
$connect=mysql_connect('localhost','azzouz','azzouz','utilisateur') or die("Impossible de se connecter !!"); //Connexion à la base de données if($connect == true) {
mysql_select_db($bdd) or die("Erreur de connexion à la base de donnees"); $t=mktime(0,0,0,date('h'),date('j'),date('m')); //Donne l'heure, le jour et le mois
for($v=0;$v<24;$v++) { $query=mysql_query("SELECT AVG('temp') FROM temperature,enceinte WHERE heure<".$t."+3600 AND heure>=".$t." AND temperature.idenceinte = enceinte.idenceinte AND num_enceinte='$num_enceinte'") or die (mysql_error()); //Recupère la moyenne des températures acquise dans l'heure courante $result=mysql_result($query,0); //Transforme la ressource en un résultat exploitable
$ydata[]=$query; //Stock dans un tableau les valeurs des points en y $t=$t+3600; } $query2=mysql_query("SELECT temp_consigne FROM enceinte,temperature WHERE enceinte.idenceinte = temperature.idenceinte ");
while($result=mysql_fetch_assoc($query2)) $ydata2[]=$result['temp_consigne']; // Stock les valeurs des points de consignes temperature { } $graph=new Graph(425,250); //Dimension de l'image en sortie $graph->SetMarginColor("#fef7e5");
$graph->SetBackgroundImage("blanc.gif",3); //Affichage d'une image derrière le graphique $graph->SetScale("lin",0,50,0,23); //Type de courbe lineaire Y de 0 à 50 X de 0 à 23 point $graph->SetY2Scale("lin",0,100,0,100); $graph->img->SetMargin(60,60,20,70); //Augmente les marges au graphique $graph->img->SetAntiAliasing("black");
$graph->yaxis->SetColor("blue"); //Couleur des axes $graph->y2axis->SetColor("red"); $graph->SetShadow(); //Affiche une ombre au graphique
$graph->yaxis->scale->ticks->Set(10,5); $graph->y2axis->scale->ticks->Set(10,5); $lineplot=new LinePlot($ydata); //Création des courbes $lineplot2=new LinePlot($ydata2);
$lineplot->Setcolor("blue"); //Couleur de la courbe n°1 $lineplot->SetWeight(2); //Epaisseur de la courbe n°1 $lineplot2->SetColor("red"); $lineplot2->SetWeight(2);
$lineplot->SetLegend("Temperature de l'enceinte"); //Axe Y1 $lineplot2->SetLegend("Temperature de consigne"); //Axe Y2 $graph->Add($lineplot); //Ajout des courbes au graphique $graph->Add($lineplot2);
$graph->title->Set("Enceinte ".$_POST['num_enceinte'].""); //Paramétrages des légendes des axes et du titre du graphique $graph->xaxis->title->Set("Heures"); $graph->yaxis->title->Set("T°C"); $graph->y2axis->SetTitleMargin(-35);
$graph->title->SetFont(FF_FONT1,FS_BOLD); //Mise en forme des différentes légendes $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->y2axis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->legend->Pos(0.5,0.5,"right","center"); //Ajuste la position de la légende $graph->legend->SetLayout(LEGEND_HOR); $graph->legend->Pos(0.5,0.97,"center","bottom"); $graph->Stroke();
} ?>
|