source: trunk/xgraph/xgraph_affi.php

Last change on this file was 42, checked in by marrucho, 10 years ago
File size: 7.3 KB
Line 
1<?php // content="text/plain; charset=utf-8"
2require_once ('jpgraph/jpgraph.php');
3require_once ('jpgraph/jpgraph_line.php');
4require_once ('jpgraph/jpgraph_date.php');
5require_once ('jpgraph/jpgraph_mgraph.php');
6
7if(isset($_POST['banc'])) {
8
9$idCond=$_POST['cond'];
10$banc=$_POST['banc'];
11$param=$_POST['param'];
12
13
14DEFINE('NDATAPOINTS',28000);
15DEFINE('SAMPLERATE',300);
16
17$start = time();
18$end = $start+NDATAPOINTS*SAMPLERATE;
19$xdata_param = array();
20
21
22//lecture data base
23$db = mysql_connect('lalsrv1.lal.in2p3.fr', 'xfel', 'pwd4xfel', '');   // connexion
24mysql_select_db('xfel',$db);                // selection
25
26
27//$req_pic    = mysql_query("SELECT Pic FROM power WHERE id_stand='b'and id_conditioning=233");// requetes
28//$req_measure = mysql_query("SELECT hour FROM measure");
29//$req_hour_pic = mysql_query("SELECT measure.hour AS 'Date', power.Pic AS 'Pic' FROM measure INNER JOIN power ON (measure.id_measure=power.id_measure AND measure.id_conditioning=power.id_conditioning) WHERE measure.id_conditioning = 233 AND power.id_stand = 'd'");
30
31$requete = "SELECT measure.hour AS 'Date', ";
32if (!strcmp($_POST['param'],"V1")) {
33        $requete .= "vacuum.V1 AS 'V1' FROM measure INNER JOIN vacuum ON (measure.id_measure=vacuum.id_measure AND measure.id_conditioning=vacuum.id_conditioning) ";
34}
35if (!strcmp($_POST['param'],"V2")) {
36        $requete .= "vacuum.V2 AS 'V2' FROM measure INNER JOIN vacuum ON (measure.id_measure=vacuum.id_measure AND measure.id_conditioning=vacuum.id_conditioning) ";
37}
38if (!strcmp($_POST['param'],"V3")) {
39        $requete .= "vacuum.V3 AS 'V3' FROM measure INNER JOIN vacuum ON (measure.id_measure=vacuum.id_measure AND measure.id_conditioning=vacuum.id_conditioning) ";
40}
41if (!strcmp($_POST['param'],"Pic")) {
42        $requete .= "power.Pic AS 'Pic' FROM measure INNER JOIN power ON (measure.id_measure=power.id_measure AND measure.id_conditioning=power.id_conditioning) ";
43}
44if (!strcmp($_POST['param'],"Pch")) {
45        $requete .= "power.Pch AS 'Pch' FROM measure INNER JOIN power ON (measure.id_measure=power.id_measure AND measure.id_conditioning=power.id_conditioning) ";
46}
47if (!strcmp($_POST['param'],"Prc")) {
48        $requete .= "power.Prc AS 'Prc' FROM measure INNER JOIN power ON (measure.id_measure=power.id_measure AND measure.id_conditioning=power.id_conditioning) ";
49}
50if (!strcmp($_POST['param'],"PT100_1w")) {
51        $requete .= "tceramic.PT100_1w AS 'PT100_1w' FROM measure INNER JOIN tceramic ON (measure.id_measure=tceramic.id_measure AND measure.id_conditioning=tceramic.id_conditioning) ";
52}
53if (!strcmp($_POST['param'],"PT100_1c")) {
54        $requete .= "tceramic.PT100_1c AS 'PT100_1c' FROM measure INNER JOIN tceramic ON (measure.id_measure=tceramic.id_measure AND measure.id_conditioning=tceramic.id_conditioning) ";
55}
56if (!strcmp($_POST['param'],"PT100_2w")) {
57        $requete .= "tceramic.PT100_2w AS 'PT100_2w' FROM measure INNER JOIN tceramic ON (measure.id_measure=tceramic.id_measure AND measure.id_conditioning=tceramic.id_conditioning) ";
58}
59if (!strcmp($_POST['param'],"PT100_2c")) {
60        $requete .= "tceramic.PT100_2c AS 'PT100_2c' FROM measure INNER JOIN tceramic ON (measure.id_measure=tceramic.id_measure AND measure.id_conditioning=tceramic.id_conditioning) ";
61}
62$requete .= "WHERE measure.id_conditioning = ";
63$requete .= $idCond;
64if ( (!strcmp($_POST['param'],"V1")) || (!strcmp($_POST['param'],"V2")) || (!strcmp($_POST['param'],"V3")))
65        $requete .= " AND vacuum.id_stand = ";
66if ((!strcmp($_POST['param'],"Pic")) || (!strcmp($_POST['param'],"Pch")) || (!strcmp($_POST['param'],"Prc")))
67        $requete .= " AND power.id_stand = ";
68if ((!strcmp($_POST['param'],"PT100_1w")) || (!strcmp($_POST['param'],"PT100_1c")) || (!strcmp($_POST['param'],"PT100_2w")) || (!strcmp($_POST['param'],"PT100_2c")))
69        $requete .= " AND tceramic.id_stand = ";
70$requete .= "'" .$banc ."'";
71
72$req_hour_param = mysql_query($requete);
73$res = mysql_num_rows($req_hour_param);                    // compte le nb d'enregistrements
74if ($res==0)//pas d'enregistrement
75{
76        echo 'empty set';
77        mysql_close($db);// fermeture connexion
78        exit;
79}
80// on fait une boucle qui va faire un tour pour chaque enregistrement
81$index=0; 
82while($data=mysql_fetch_assoc($req_hour_param)) 
83    { 
84    $data_measure[$index] = $data['Date'];
85        if (!strcmp($_POST['param'],"V1"))
86            $data_param[$index] = $data['V1'];
87        if (!strcmp($_POST['param'],"V2"))
88            $data_param[$index] = $data['V2'];
89        if (!strcmp($_POST['param'],"V3"))
90            $data_param[$index] = $data['V3'];
91        if (!strcmp($_POST['param'],"Pic"))
92            $data_param[$index] = $data['Pic'];
93        if (!strcmp($_POST['param'],"Pch"))
94            $data_param[$index] = $data['Pch'];
95        if (!strcmp($_POST['param'],"Prc"))
96            $data_param[$index] = $data['Prc'];
97        if (!strcmp($_POST['param'],"PT100_1w"))
98            $data_param[$index] = $data['PT100_1w'];
99        if (!strcmp($_POST['param'],"PT100_1c"))
100            $data_param[$index] = $data['PT100_1c'];
101        if (!strcmp($_POST['param'],"PT100_2w"))
102            $data_param[$index] = $data['PT100_2w'];
103        if (!strcmp($_POST['param'],"PT100_2c"))
104            $data_param[$index] = $data['PT100_2c'];
105//      echo $data_measure[$index] . $data_param[$index];
106    $index++;
107    }
108
109mysql_close($db);// fermeture connexion
110
111for( $i=0; $i < $index; ++$i ) {
112   $xdata[$i] = $data_measure[$i];
113}
114
115$xdata[$i] = $start + $i * SAMPLERATE;
116
117//DEFINE('BKG_COLOR','lightgray:1.7');
118DEFINE('BKG_COLOR','green:1.98');
119DEFINE('WIND_HEIGHT',800);
120DEFINE('WIND_WIDTH',250);
121
122//------------------------------------------------------------------
123// Setup the Param graph
124//------------------------------------------------------------------
125$graph = new Graph(WIND_WIDTH,WIND_HEIGHT);
126$graph->SetMarginColor(BKG_COLOR);
127//$graph->SetScale('datlin',0,1000);
128if ( (!strcmp($_POST['param'],"V1")) || (!strcmp($_POST['param'],"V2")) || (!strcmp($_POST['param'],"V3")))
129        $graph->SetScale('datlin',0,10000);
130if ((!strcmp($_POST['param'],"Pic")) || (!strcmp($_POST['param'],"Pch")) || (!strcmp($_POST['param'],"Prc")))
131        $graph->SetScale('datlin',0,1000);
132if ((!strcmp($_POST['param'],"PT100_1w")) || (!strcmp($_POST['param'],"PT100_1c")) || (!strcmp($_POST['param'],"PT100_2w")) || (!strcmp($_POST['param'],"PT100_2c")))
133        $graph->SetScale('datlin',0,50);
134$graph->Set90AndMargin(50,10,70,30);
135$graph->SetFrame(true,'white',0);
136$graph->SetBox();
137
138//$graph->title->Set('Pic');
139$graph->title->Set($param);
140$graph->title->SetColor('red');
141$graph->title->SetFont(FF_FONT1,FS_BOLD,48);
142$graph->title->SetMargin(5);
143
144$graph->xaxis->SetFont(FF_FONT0,FS_NORMAL,9);
145
146$graph->xaxis->SetTickLabels($xdata);
147
148$graph->xgrid->Show();
149
150$graph->yaxis->SetLabelAngle(90);
151$graph->yaxis->SetColor('red');
152$graph->yaxis->SetFont(FF_FONT0,FS_NORMAL,9);
153$graph->yaxis->SetLabelMargin(0);
154$graph->yaxis->scale->SetAutoMin(10);
155
156$line = new LinePlot($data_param);
157$line->SetStepStyle();
158$line->SetColor('red');
159
160$graph->AddLine($line);
161
162//-----------------------
163// Create a multigraph
164//----------------------
165$mgraph = new MGraph();
166$mgraph->SetMargin(2,2,2,2);
167$mgraph->SetFrame(true,'darkgray',2);
168$mgraph->SetFillColor(BKG_COLOR);
169$mgraph->Add($graph,460,50);
170//$mgraph->title->Set('XFEL Banc D 18 mars 2014');
171$title = "XFEL Stand ";
172$title .=  $banc;
173//$title .= " 18 mars 2014";
174//echo $data_measure[0];
175$title .= " " .$data_measure[0];
176$mgraph->title->Set($title);
177$mgraph->title->SetFont(FF_FONT2,FS_BOLD,80);
178$mgraph->title->SetMargin(8);
179$mgraph->Stroke();
180
181}
182else {}
183
184?>
Note: See TracBrowser for help on using the repository browser.