Jean,
L'idée de faire un tri afin de déterminer exactement les min et les max
ainsi que leur timestamp respectif, type de donnée par type de donnée semblait bien allèchante.
Mais enfin après quelques minutes, j'ai enfin vu les jours et heures s'afficher comme je le souhaitais.
Comme tu l'as lu le php et moi, on vient juste de faire connaissance, alors la fonction array_multisort j'étais pas à la veille de l'utiliser.
Ce qu'il faut quand même savoir, c'est que, dès que les variables min et max (donnée et temps) sont déclarées(déterminées), il faut refaire le tri inverse array_multisort($timestamp, $data) sinon dans le graphique les données restent triées sur leur valeurs ascendantes et non sur le timestamp.
Dans le code d'Yves il y avait aussi un problème au niveau de la variable
$MYSQL_TIMESTAMP au niveau du switch, variable qui n'est pas déclarée ce qui ajoute une ligne dans la log erreur d'Apache chaque fois que la page est appelée. J'ai viré le $ et collé une paire de double quotes devant et derrière.
Ca marche et la log reste vierge.
Ca donne ça :
$sql="SELECT `rel_pressure`,`outdoor_humidity`,`outdoor_temp`,`outdoor_dew_point`,`wind_chill`,`wind_direction`,`wind_speed`,`total_rainfall`,`outdoor_humidex`,`timestamp` FROM $DATABASE WHERE timestamp<='$stop' AND timestamp>='$start' order by timestamp";
$query=mysql_query($sql) or die ("Erreur SQL : ".mysql_error() );
for ($i=0;$i<16;$i++) $count[$i]=0;
$i=0;
while ($list=mysql_fetch_array($query))
{
$y1data[$i]=$list[0];//Pression
$y2data[$i]=$list[1];//Humidité
$y3data[$i]=$list[2];//Température Ext
$y4data[$i]=$list[3];//Point de Rosée
$y5data[$i]=$list[4];//Facteur Vent
$count[$list[5]]=$count[$list[5]]+1;//Direction Vent
$y6data[$i]=$list[6];//Vitesse Vent
$y7data[$i]=$list[7];//Pluie
$y8data[$i]=$list[8];//Humidex
switch("MYSQL_TIMESTAMP")
{
case 0 :
$timestamp[$i]=$list[9];
break;
default: case 1:
sscanf($list[9],"%4d%2d%2d%2d%2d%2d",$a_year,$a_month,$a_day,$a_hours,$a_minutes,$a_seconds);
$timestamp[$i]=intval(mktime($a_hours,$a_minutes,$a_seconds,$a_month,$a_day,$a_year,-1));
break;
}
array_multisort($y1data, $timestamp); // On trie en ordre croissant $y1data.
$y1min=$y1data[0]; // En pos 0 de l'array on a le mini.
$y1tmin=date("j/m à H\hi",$timestamp[0]); // Comme timestamp est ordonnée idem on a l'heure du mini
$i=count($timestamp)-1; // Le max est en dernière position de l'array, on ddétermine sa valeur
$y1max=$y1data[$i]; // On a le max de la donnée avec l'index
$y1tmax=date("j/m à H\hi",$timestamp[$i]);// Et ses jours et heures avec la meme position de l'index
array_multisort($timestamp, $y1data); // Ne pas oublier de rétablir l'ordre initial
array_multisort($y2data, $timestamp);
$y2min=$y2data[0];
$y2tmin=date("j/m à H\hi",$timestamp[0]);
$i=count($timestamp)-1;
$y2max=$y2data[$i];
$y2tmax=date("j/m à H\hi",$timestamp[$i]);
array_multisort($timestamp, $y2data);
// ...ainsi de suite
Un petit défaut que j'ai constaté, sans doute dû à mon ordi qui tourne 24h/24 et 7j/7 et qui doit surtout manquer de puissance (Pentium IV 2.4 Go, 1Go de ram) c'est que pour des graphiques sur une durée supérieure à 10 jours, ca devient assez longuet, 180 jours ça passe encore mais ...c'est long, quant à 365 jours ca tourne à plus de vingt secondes !! Et encore il me manque plus d'un mois puisque la station est démarrée depuis le 16/02/2008. Pas fantastiques comme temps de réponses.
Je te remercie une nouvelle fois pour tes précieux conseils