[RESOLU] Affichage du résultat d'un script (pour les nuls)

Eléphanteau du PHP | 15 Messages

30 mai 2014, 10:25

Bonjour à tous
Dans un sujet précédent vous avez trouvé l'erreur dans mon "premier script" que voici:
<?php
$dir=45;
if ($dir==0) {echo "N";}
elseif ($dir==22) {echo "N à NE";}
elseif ($dir==45) {echo "NE ";}
...
elseif ($dir==315) {echo "NO";}
else {echo "NO à N";}
?>
ça marche, ça affiche bien NE !
Étape suivante
Le site est un site de météo
Sur cette page j'affiche la vitesse actuelle du vent par :<?php echo ':' .$windspeed[288]. 'Km/h '?> en récupérant $windspeed[288] dans le script qui génère le graphique ( bien sur il n'est pas de moi), je pourrais aussi afficher la direction $winddir[288]
Comment faire pour afficher les directions du style NE en fonction des valeurs de $winddir[288]
Merci .
Jean
Modifié en dernier par Landéda le 30 mai 2014, 13:17, modifié 1 fois.

Eléphant du PHP | 95 Messages

30 mai 2014, 10:53

Quelles sont tes valeurs possibles de $winddir[288] et que signifient-elles?
Dans un premier temps il faut établir la correspondance entre ces valeurs et leur signification!
Puis tu peux utiliser quelques chose comme ça:
$direction = $winddir[288];
switch($direction)
{
 case ($direction < 10) : //si winddir vaut moins que 10
    echo "NE"; //on met le NE
    break; //on sort
  case (($Nombre >= 10) && ($Nombre <= 50)) :  //compris entre 10 et 50
    echo "E";
    break;
  case ($Nombre > 50) && ($Nombre <= 90)): //superieur à 50 et inférieur à 90
    echo "S";
    break;
  case (105): //vaut exactement 105
   echo "tornade bordel";
   break;
  //tu m'as compris
  case (/*tri des valeurs*/):
    echo (/*correspondance à afficher*/);
    break;
}
La b!te et le couteau sont bien souvent les meilleurs outils...mais aussi et surtout les seuls qui sont toujours à disposition!!

Eléphanteau du PHP | 15 Messages

30 mai 2014, 16:43

Merci tu as décoincé quelque chose mais je ne sais pas quoi ? un ";" oublié ???
J'ai repris mon code comme ceci :
<?php
$dir=$winddir[288];
if ($dir==0) {echo "N";}
elseif ($dir==22) {echo "N à NE";}
....
Et ça marche (pour le moment)
Tu voulais savoir :
Winddir c'est la direction du vent en degrés,y'a 16 secteurs: N, N à NE,NE ....., et comme 360/16=22,5 et que 22,5 est arondi à 22 ou 23 d'où les valeurs possibles 0,22,45,68,90...Par ailleurs j'ai un enregistrement toutes les 5 minutes soit 288 enregistrements en 24 H , $winddir[288] est le dernier enregistrement des dernières 24H donc "maintenant"
J'espère qu'il n'y a pas trop de vent chez toi .
Encore merci.
Jean