change
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($Valeur_old=-9999)
désolé suis un peu fatiguè, vais me coucher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($Valeur_old==-9999)
change
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($Valeur_old=-9999)
désolé suis un peu fatiguè, vais me coucher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($Valeur_old==-9999)
Merci Patrickmais non ca ne fonctionne pas...
En meme temps je ne vois comment ca pourrait marcher????
Ne crois tu pas que mon idée du min(string) serait une bonne idée?
A quoi correspond -9999?
Merci
après ta boucle while
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while($row = mysql_fetch_array($Result)) /* Get the data from the query result */ { }resultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 /*pour simuler les data construites avec le while $VALUE[]=7934901;$DATE[]='0'; $VALUE[]=7934921;$DATE[]='1'; $VALUE[]=7934931;$DATE[]='2'; $VALUE[]=7934951;$DATE[]='3'; $VALUE[]=7934971;$DATE[]='4'; $VALUE[]=7934991;$DATE[]='5'; $VALUE[]=7934999;$DATE[]='6'; fin simuler les data construites avec le while*/ $Valeur_old=-9999; for($x=0; $x<count($VALUE) ; $x++) { $Valeur = $VALUE[$x]; if($Valeur_old==-9999) { $Valeur_old=$Valeur; $DIFF[$x]=0; }else{ if($Valeur>$Valeur_old) { $DIFF[$x]=($Valeur-$Valeur_old); $Valeur_old=$Valeur; } } } /*affichage des resutats*/ for($x=0; $x<count($VALUE) ; $x++) { echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."<br>"; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DATE[0]=0 VALUE[0]=7934901 DIFF[0]=0 DATE[1]=1 VALUE[1]=7934921 DIFF[1]=20 DATE[2]=2 VALUE[2]=7934931 DIFF[2]=10 DATE[3]=3 VALUE[3]=7934951 DIFF[3]=20 DATE[4]=4 VALUE[4]=7934971 DIFF[4]=20 DATE[5]=5 VALUE[5]=7934991 DIFF[5]=20 DATE[6]=6 VALUE[6]=7934999 DIFF[6]=8
Merci Patrick
Malheureusement pas mieux!
En manuel ca le code ci dessous fonctionne nickel:
La ligne:$Valeur_old = 7982;qui est la valeur de l'index à Minuit.
Il faut donc que je puisse extraire la valeur la plus petite min() de la première heure et l affecter à $Valeur_old
Ce qui est étrange c'est que le min(string) ne donne rien...
$Requete = "SELECT ROUND(max(STRING)) AS MAXSTR, ROUND(min(STRING)) AS MINSTR, ID_EVENT, DEVICE, STATUS, VALUE, DATE FROM `EVENTS` where DEVICE =']4' AND date >= current_date GROUP BY DATE_FORMAT( date , '%Y-%m-%d %H' )";
$Result = mysql_query($Requete ,$db);
$Valeur_old = 7982;
while($row = mysql_fetch_array($Result))
/* Get the data from the query result */
{
$Valeur = $row["MAXSTR"]/1000;
$VALUE[] = $Valeur;
$DATE[] = date("H", strtotime($row["DATE"]));
if($Valeur>$Valeur_old)
{
$DIFF[] = $Valeur-$Valeur_old;
$Valeur_old = $Valeur;
}
}
le code que je t'ai donné
tu fait ta boucle (en elevant les test ...) pour remplir $VALUE et $DATE
ensuite tu calcul la différence
donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 /*$Valeur_old = 7982;*/ while($row = mysql_fetch_array($Result)) /* Get the data from the query result */ { $Valeur = $row["MAXSTR"]/1000; $VALUE[] = $Valeur; $DATE[] = date("H", strtotime($row["DATE"])); } $Valeur_old=-9999; for($x=0; $x<count($VALUE) ; $x++) { $Valeur = $VALUE[$x]; if($Valeur_old==-9999) { $Valeur_old=$Valeur; $DIFF[$x]=0; }else{ if($Valeur>$Valeur_old) { $DIFF[$x]=($Valeur-$Valeur_old); $Valeur_old=$Valeur; } } } /*affichage des resutats*/ for($x=0; $x<count($VALUE) ; $x++) { echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."<br>"; }
En effet c'est ok, tu es trop fort patrick!
Je commence en meme temps à comprendre le fonctionnement, c'est tres formateur pour moi !!!
Il reste un probleme
La valeur de minuit à 1h est "0", or ce n'est pas vrai...
La vrai valeur à minuit est :7982,736
LE probleme reste identique, récupérer la plus petite valeur entre mINUIT ET 1 Heure...
DATE[0]=00 VALUE[0]=7983.091 DIFF[0]=0
DATE[1]=01 VALUE[1]=7983.447 DIFF[1]=0.356
DATE[2]=02 VALUE[2]=7983.722 DIFF[2]=0.275
DATE[3]=03 VALUE[3]=7983.993 DIFF[3]=0.271000000001
DATE[4]=04 VALUE[4]=7984.263 DIFF[4]=0.27
DATE[5]=05 VALUE[5]=7984.529 DIFF[5]=0.266000000001
DATE[6]=06 VALUE[6]=7984.757 DIFF[6]=0.227999999999
DATE[7]=07 VALUE[7]=7984.946 DIFF[7]=0.189
DATE[8]=08 VALUE[8]=7985.212 DIFF[8]=0.266000000001
DATE[9]=09 VALUE[9]=7985.574 DIFF[9]=0.361999999999
DATE[10]=10 VALUE[10]=7987.604 DIFF[10]=2.03
DATE[11]=11 VALUE[11]=7989.293 DIFF[11]=1.689
DATE[12]=12 VALUE[12]=7991.108 DIFF[12]=1.815
DATE[13]=13 VALUE[13]=7991.637 DIFF[13]=0.529
DATE[14]=14 VALUE[14]=7991.744 DIFF[14]=0.107
comme toujours en informatique ce n'est qu'une question de 0 ou de 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /*affichage des resutats*/ for($x=1; $x<count($VALUE) ; $x++) { echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."<br>"; }
En effet c'est ok, tu es trop fort patrick!
Je commence en meme temps à comprendre le fonctionnement, c'est tres formateur pour moi !!!
Il reste un probleme
La valeur de minuit à 1h est "0", or ce n'est pas vrai...
La vrai valeur à minuit est :7982,736
LE probleme reste identique, récupérer la plus petite valeur entre mINUIT ET 1 Heure...
DATE[0]=00 VALUE[0]=7983.091 DIFF[0]=0
DATE[1]=01 VALUE[1]=7983.447 DIFF[1]=0.356
DATE[2]=02 VALUE[2]=7983.722 DIFF[2]=0.275
DATE[3]=03 VALUE[3]=7983.993 DIFF[3]=0.271000000001
DATE[4]=04 VALUE[4]=7984.263 DIFF[4]=0.27
DATE[5]=05 VALUE[5]=7984.529 DIFF[5]=0.266000000001
DATE[6]=06 VALUE[6]=7984.757 DIFF[6]=0.227999999999
DATE[7]=07 VALUE[7]=7984.946 DIFF[7]=0.189
DATE[8]=08 VALUE[8]=7985.212 DIFF[8]=0.266000000001
DATE[9]=09 VALUE[9]=7985.574 DIFF[9]=0.361999999999
DATE[10]=10 VALUE[10]=7987.604 DIFF[10]=2.03
DATE[11]=11 VALUE[11]=7989.293 DIFF[11]=1.689
DATE[12]=12 VALUE[12]=7991.108 DIFF[12]=1.815
DATE[13]=13 VALUE[13]=7991.637 DIFF[13]=0.529
DATE[14]=14 VALUE[14]=7991.744 DIFF[14]=0.107
ok je commence a comprendre réellement ce que tu veux
la premiere différence doit etre entre 0:00 et 1:59h
ensuite 1:59h-2:59h
etc...
tu remets ton min(STRING) AS MINSTR dans la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 while($row = mysql_fetch_array($Result)) /* Get the data from the query result */ { $ValeurMax = $row["MAXSTR"]/1000; $ValeurMin = $row["MINSTR"]/1000; $DateVal=date("H", strtotime($row["DATE"])); $DATE[] = $DateVal; if($DateVal!="00") { $VALUE[] = $ValeurMax; }else{ $VALUE[] = $ValeurMin; } } $Valeur_old=-9999; for($x=0; $x<count($VALUE) ; $x++) { $Valeur = $VALUE[$x]; if($Valeur_old==-9999) { $Valeur_old=$Valeur; $DIFF[$x]=0; }else{ if($Valeur>$Valeur_old) { $DIFF[$x]=($Valeur-$Valeur_old); $Valeur_old=$Valeur; } } } /*affichage des resutats*/ for($x=1; $x<count($VALUE) ; $x++) { echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."<br>"; }
Merci Philippe et effectivement je me suis mal exprimé!
J'ai testé ton code ci dessous mais etrangement (voir résultat de l'écho en bas), MINSTR ne renvoi rien???
$Requete = "SELECT max(STRING) AS MAXSTR, min(STRING) AS MINSTR, ID_EVENT, DEVICE, STATUS, VALUE, DATE FROM `EVENTS` where DEVICE =']4' AND date >= current_date GROUP BY DATE_FORMAT( date , '%Y-%m-%d %H' )";
$Result = mysql_query($Requete ,$db);
while($row = mysql_fetch_array($Result))
/* Get the data from the query result */
{
$ValeurMax = $row["MAXSTR"]/1000;
$ValeurMin = $row["MINSTR"]/1000;
$DateVal=date("H", strtotime($row["DATE"]));
$DATE[] = $DateVal;
if($DateVal!="00")
{
$VALUE[] = $ValeurMax;
}else{
$VALUE[] = $ValeurMin;
}
}
$Valeur_old=-9999;
for($x=0; $x<count($VALUE) ; $x++)
{
$Valeur = $VALUE[$x];
if($Valeur_old==-9999)
{
$Valeur_old=$Valeur;
$DIFF[$x]=0;
}else{
if($Valeur>$Valeur_old)
{
$DIFF[$x]=($Valeur-$Valeur_old);
$Valeur_old=$Valeur;
}
}
}
/*affichage des resutats*/
for($x=1; $x<count($VALUE) ; $x++)
{
echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."VALUE2[".$x."]=".$MINSTR[$x]."<br>";
}
Résultat de l'écho:
DATE[1]=01 VALUE[1]=7983.447 DIFF[1]=0.711VALUE2[1]=
DATE[2]=02 VALUE[2]=7983.722 DIFF[2]=0.275VALUE2[2]=
DATE[3]=03 VALUE[3]=7983.993 DIFF[3]=0.271000000001VALUE2[3]=
DATE[4]=04 VALUE[4]=7984.263 DIFF[4]=0.27VALUE2[4]=
DATE[5]=05 VALUE[5]=7984.529 DIFF[5]=0.266000000001VALUE2[5]=
DATE[6]=06 VALUE[6]=7984.757 DIFF[6]=0.227999999999VALUE2[6]=
DATE[7]=07 VALUE[7]=7984.946 DIFF[7]=0.189VALUE2[7]=
DATE[8]=08 VALUE[8]=7985.212 DIFF[8]=0.266000000001VALUE2[8]=
DATE[9]=09 VALUE[9]=7985.574 DIFF[9]=0.361999999999VALUE2[9]=
DATE[10]=10 VALUE[10]=7987.604 DIFF[10]=2.03VALUE2[10]=
DATE[11]=11 VALUE[11]=7989.293 DIFF[11]=1.689VALUE2[11]=
DATE[12]=12 VALUE[12]=7991.108 DIFF[12]=1.815VALUE2[12]=
DATE[13]=13 VALUE[13]=7991.637 DIFF[13]=0.529VALUE2[13]=
DATE[14]=14 VALUE[14]=7992.031 DIFF[14]=0.394VALUE2[14]=
DATE[15]=15 VALUE[15]=7992.522 DIFF[15]=0.491VALUE2[15]=
DATE[16]=16 VALUE[16]=7992.862 DIFF[16]=0.34VALUE2[16]=
DATE[17]=17 VALUE[17]=7993.154 DIFF[17]=0.292VALUE2[17]=
DATE[18]=18 VALUE[18]=7993.448 DIFF[18]=0.294VALUE2[18]=
DATE[19]=19 VALUE[19]=7995.164 DIFF[19]=1.716VALUE2[19]=
DATE[20]=20 VALUE[20]=7995.642 DIFF[20]=0.478VALUE2[20]=
DATE[21]=21 VALUE[21]=7995.949 DIFF[21]=0.307VALUE2[21]=
$MINSTR[$x]
si tu veux quelque chose dans MINSTR[$x] il faut l'y mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 while($row = mysql_fetch_array($Result)) /*tant qu'il y a des informations(des lignes) dans le resultat de la requete on le prend et lon range les informations dans un tableau $row*/ /* Get the data from the query result */ { $ValeurMax = $row["MAXSTR"]/1000; /*on prend la valeur de la case MAXSTR du tableau que l'on met dans un variable $ValeurMax */ $ValeurMin = $row["MINSTR"]/1000; /*idem pour la case MAXSTR */ $DateVal=date("H", strtotime($row["DATE"])); /*idem pour la case DATE */ $DATE[] = $DateVal; /*on ajoute une case a un tableau $DATE et on met $DateVal */ $MINSTR[] = $ValeurMin /*on ajoute une case a un tableau $MINSTR et on met $ValeurMin */ if($DateVal!="00") /* si la "date" est différente de "00" { /*alors on ajoute une case au tableau $VALUE et on met la valeur maxi*/ $VALUE[] = $ValeurMax; }else{ /*sinon on ajoute une case au tableau $VALUE et on met la valeur mini*/ $VALUE[] = $ValeurMin; }/* on recommence avec la ligne suivante du resultat*/ }
J'ai honte tu as vu mon niveau?
C'est toujours pas bon mais ce n'est pas loin car regarde le code que j'utilise et le résultat de l'écho:
La valeur mini de l'écho est la bonne à Minuit et 1 seconde, parfait par contre seulement pour cette heure la la max n'est pas la bonne.
Elle est dans l'echo la meme que la valeur mini alors qu'elle devrait être:7983, 096
?
$Requete = "SELECT max(STRING) AS MAXSTR, min(STRING) AS MINSTR, ID_EVENT, DEVICE, STATUS, VALUE, DATE FROM `EVENTS` where DEVICE =']4' AND date >= current_date GROUP BY DATE_FORMAT( date , '%Y-%m-%d %H' )";
$Result = mysql_query($Requete ,$db);
while($row = mysql_fetch_array($Result))
/* Get the data from the query result */
{
$ValeurMax = $row["MAXSTR"]/1000;
$ValeurMin = $row["MINSTR"]/1000;
$DateVal=date("H", strtotime($row["DATE"]));
$DATE[] = $DateVal;
$MINSTR[] = $ValeurMin;
if($DateVal!="00")
{
$VALUE[] = $ValeurMax;
}else{
$VALUE[] = $ValeurMin;
}
}
$Valeur_old=-9999;
for($x=0; $x<count($VALUE) ; $x++)
{
$Valeur = $VALUE[$x];
if($Valeur_old==-9999)
{
$Valeur_old=$Valeur;
$DIFF[$x]=0;
}else{
if($Valeur>$Valeur_old)
{
$DIFF[$x]=($Valeur-$Valeur_old);
$Valeur_old=$Valeur;
}
}
}
/*affichage des resutats*/
for($x=0; $x<count($VALUE) ; $x++)
{
echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."VALUE2[".$x."]=".$MINSTR[$x]."<br>";
}
Résultat écho:
DATE[0]=00 VALUE[0]=7982.736 DIFF[0]=0VALUE2[0]=7982.736
DATE[1]=01 VALUE[1]=7983.447 DIFF[1]=0.711VALUE2[1]=7983.122
DATE[2]=02 VALUE[2]=7983.722 DIFF[2]=0.275VALUE2[2]=7983.465
DATE[3]=03 VALUE[3]=7983.993 DIFF[3]=0.271000000001VALUE2[3]=7983.743
DATE[4]=04 VALUE[4]=7984.263 DIFF[4]=0.27VALUE2[4]=7984.014
DATE[5]=05 VALUE[5]=7984.529 DIFF[5]=0.266000000001VALUE2[5]=7984.284
DATE[6]=06 VALUE[6]=7984.757 DIFF[6]=0.227999999999VALUE2[6]=7984.548
DATE[7]=07 VALUE[7]=7984.946 DIFF[7]=0.189VALUE2[7]=7984.776
DATE[8]=08 VALUE[8]=7985.212 DIFF[8]=0.266000000001VALUE2[8]=7984.961
DATE[9]=09 VALUE[9]=7985.574 DIFF[9]=0.361999999999VALUE2[9]=7985.233
DATE[10]=10 VALUE[10]=7987.604 DIFF[10]=2.03VALUE2[10]=7985.61
DATE[11]=11 VALUE[11]=7989.293 DIFF[11]=1.689VALUE2[11]=7987.835
DATE[12]=12 VALUE[12]=7991.108 DIFF[12]=1.815VALUE2[12]=7989.361
DATE[13]=13 VALUE[13]=7991.637 DIFF[13]=0.529VALUE2[13]=7991.22
DATE[14]=14 VALUE[14]=7992.031 DIFF[14]=0.394VALUE2[14]=7991.668
DATE[15]=15 VALUE[15]=7992.522 DIFF[15]=0.491VALUE2[15]=7992.073
DATE[16]=16 VALUE[16]=7992.862 DIFF[16]=0.34VALUE2[16]=7992.567
DATE[17]=17 VALUE[17]=7993.154 DIFF[17]=0.292VALUE2[17]=7992.891
DATE[18]=18 VALUE[18]=7993.448 DIFF[18]=0.294VALUE2[18]=7993.181
DATE[19]=19 VALUE[19]=7995.164 DIFF[19]=1.716VALUE2[19]=7993.472
DATE[20]=20 VALUE[20]=7995.642 DIFF[20]=0.478VALUE2[20]=7995.187
DATE[21]=21 VALUE[21]=7996.029 DIFF[21]=0.387000000001VALUE2[21]=7995.671
DATE[22]=22 VALUE[22]=7996.177 DIFF[22]=0.147999999999VALUE2[22]=7996.071
j'ai expliqué le code, lol
$VALUE[..] contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if($DateVal!="00") /* si la "date" est différente de "00" { /*alors on ajoute une case au tableau $VALUE et on met la valeur maxi*/ $VALUE[] = $ValeurMax; }else{ /*sinon on ajoute une case au tableau $VALUE et on met la valeur mini*/ $VALUE[] = $ValeurMin; }/* on recommence avec la ligne suivante du resultat*/
$ValeurMin quand l'heure est '00'
$ValeurMax quand l'heure n'est pas '00'
$VALUE[..] contient donc toujours $ValeurMax sauf pour l'heure '00' ou la elle vaut $ValeurMin
donc l'affichage est correct
C'est presque ca, la premiere difference se fera entre le premiere enregistrement 00:00:01 et le dernier à 00:59:00
Dans le résultat de l'echo Ci dessous, DATE[0] correspond à cette période
DATE[0]=00 VALUE[0]=7982.736 DIFF[0]=0VALUE2[0]=7982.736
Or Effectivement les 2 valeurs correspondent à la valeur Min alors qu'elles devraient suiVre le meme schémas que pour les autres heures.
Seule la première valeur min doit être particulière car correspondat à Minstr
Il devrait donC il y avoir une différence por cette premiere valeur qui devrait s traduire lors de l'echo par:
DATE[0]=00 VALUE[0]=7983,096 DIFF[0]=0,36 VALUE2[0]=7982.736
J'essaye je te promets!!
J'ai tenté plein de modif depuis 1 heure mais je peine vraiment...
Du coup ce script allégé fait presque l'affaire:
Mais je narrive pas et pourtant ca doit etre simple, à donner la valeur min
en remplacement $Valeur_old=-9999;
Pourtant la valeur Min existe car elle est bonne dans le résultat de la igne 0 DATE[0]=00 VALUE[0]=7983.091 DIFF[0]=17982.091VALUE2[0]=7982.736
C'est pas loin du tout ..
$Requete = "SELECT max(STRING) AS MAXSTR, min(STRING) AS MINSTR, ID_EVENT, DEVICE, STATUS, VALUE, DATE FROM `EVENTS` where DEVICE =']4' AND date >= current_date GROUP BY DATE_FORMAT( date , '%Y-%m-%d %H' )";
$Result = mysql_query($Requete ,$db);
while($row = mysql_fetch_array($Result))
/* Get the data from the query result */
{
$ValeurMax = $row["MAXSTR"]/1000;
$ValeurMin = $row["MINSTR"]/1000;
$DateVal=date("H", strtotime($row["DATE"]));
$DATE[] = $DateVal;
$MINSTR[] = $ValeurMin;
$VALUE[] = $ValeurMax;
}
$Valeur_old=-9999;
for($x=0; $x<count($VALUE) ; $x++)
{
$Valeur = $VALUE[$x];
if($Valeur>$Valeur_old)
{
$DIFF[$x]=($Valeur-$Valeur_old);
$Valeur_old=$Valeur;
}
}
/*affichage des resutats*/
for($x=0; $x<count($VALUE) ; $x++)
{
echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]."VALUE2[".$x."]=".$MINSTR[$x]."<br>";
DATE[0]=00 VALUE[0]=7983.091 DIFF[0]=17982.091VALUE2[0]=7982.736
DATE[1]=01 VALUE[1]=7983.447 DIFF[1]=0.356VALUE2[1]=7983.122
DATE[2]=02 VALUE[2]=7983.722 DIFF[2]=0.275VALUE2[2]=7983.465
DATE[3]=03 VALUE[3]=7983.993 DIFF[3]=0.271000000001VALUE2[3]=7983.743
DATE[4]=04 VALUE[4]=7984.263 DIFF[4]=0.27VALUE2[4]=7984.014
DATE[5]=05 VALUE[5]=7984.529 DIFF[5]=0.266000000001VALUE2[5]=7984.284
DATE[6]=06 VALUE[6]=7984.757 DIFF[6]=0.227999999999VALUE2[6]=7984.548
DATE[7]=07 VALUE[7]=7984.946 DIFF[7]=0.189VALUE2[7]=7984.776
DATE[8]=08 VALUE[8]=7985.212 DIFF[8]=0.266000000001VALUE2[8]=7984.961
DATE[9]=09 VALUE[9]=7985.574 DIFF[9]=0.361999999999VALUE2[9]=7985.233
DATE[10]=10 VALUE[10]=7987.604 DIFF[10]=2.03VALUE2[10]=7985.61
DATE[11]=11 VALUE[11]=7989.293 DIFF[11]=1.689VALUE2[11]=7987.835
DATE[12]=12 VALUE[12]=7991.108 DIFF[12]=1.815VALUE2[12]=7989.361
DATE[13]=13 VALUE[13]=7991.637 DIFF[13]=0.529VALUE2[13]=7991.22
DATE[14]=14 VALUE[14]=7992.031 DIFF[14]=0.394VALUE2[14]=7991.668
DATE[15]=15 VALUE[15]=7992.522 DIFF[15]=0.491VALUE2[15]=7992.073
DATE[16]=16 VALUE[16]=7992.862 DIFF[16]=0.34VALUE2[16]=7992.567
DATE[17]=17 VALUE[17]=7993.154 DIFF[17]=0.292VALUE2[17]=7992.891
DATE[18]=18 VALUE[18]=7993.448 DIFF[18]=0.294VALUE2[18]=7993.181
DATE[19]=19 VALUE[19]=7995.164 DIFF[19]=1.716VALUE2[19]=7993.472
DATE[20]=20 VALUE[20]=7995.642 DIFF[20]=0.478VALUE2[20]=7995.187
DATE[21]=21 VALUE[21]=7996.029 DIFF[21]=0.387000000001VALUE2[21]=7995.671
DATE[22]=22 VALUE[22]=7996.445 DIFF[22]=0.415999999999VALUE2[22]=7996.071
DATE[23]=23 VALUE[23]=7996.993 DIFF[23]=0.548000000001VALUE2[23]=7996
Je me demande si je n'ai pas trouvé la solution:
$Valeur_old=$MINSTR[0];
Je crois bien que c'est bon , j'approfondi et je reviens
$Requete = "SELECT max(STRING) AS MAXSTR, min(STRING) AS MINSTR, ID_EVENT, DEVICE, STATUS, VALUE, DATE FROM `EVENTS` where DEVICE =']4' AND date >= current_date GROUP BY DATE_FORMAT( date , '%Y-%m-%d %H' )";
$Result = mysql_query($Requete ,$db);
while($row = mysql_fetch_array($Result))
/* Get the data from the query result */
{
$ValeurMax = $row["MAXSTR"]/1000;
$ValeurMin = $row["MINSTR"]/1000;
$DateVal=date("H", strtotime($row["DATE"]));
$DATE[] = $DateVal;
$MINSTR[] = $ValeurMin;
$VALUE[] = $ValeurMax;
}
$Valeur_old=$MINSTR[0];
for($x=0; $x<count($VALUE) ; $x++)
{
$Valeur = $VALUE[$x];
if($Valeur>$Valeur_old)
{
$DIFF[$x]=($Valeur-$Valeur_old);
$Valeur_old=$Valeur;
}
}
/*affichage des resutats*/
for($x=0; $x<count($VALUE) ; $x++)
{
echo "DATE[".$x."]=".$DATE[$x]." VALUE[".$x."]=".$VALUE[$x]." DIFF[".$x."]=".$DIFF[$x]." VALUE2[".$x."]=".$MINSTR[$x]."<br>";
}
Je confirme que ca marche top de la balle !!!!!
patrick, comment puis-je te remercier pour ta patience et ton talent?
Je suis vraiment admiratif de gens comme toi!
Il n'y a rien d'admirable, je suis simplement passé par ou tu passe (il y a longtemps, c'est un peu vrais) et a l'époque (cela ne nous rajeunis pas) il n'y avait pas encore internet, cela m'aurais plus de pouvoir demander et recevoir de l'aide.
Donc si je peu aider c'est avec plaisir.
N'oubliez pas de noter la discussion comme "Résolu"
A+
Oui mais quand même un Grand merci !!!!!!!!!
Je suis moi même informaticien mais dans les réseaux et la sécurité.
Moi aussi quand j'ai commencé internet n'existait pas encore et c'est vrai qu'aujourd'hui je me demande encore comment on faisait !!!!
Merci beaucoup Patrick
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager