ben6114 Posté(e) 8 septembre 2011 Ticheville-alt: 216 m (61-Orne-Normandie) Partager Posté(e) 8 septembre 2011 bonjour j ai besoin d'aide svp pour code php. j essai de faire un code php pour convertir les rafales sur l echelle de Beaufort,pour l'insérer dans le tableau. pour l'instant j'ai réussi a faire la colonne "Beaufort" voir mon site: http://meteo-ticheville.com/statistiques/index.html j'ai ecrit une fonction dans "fonctions.php" function beaufort($rafales){$rafales = "";if($rafales < 1 ) {$bf=0;}if($rafales >= 1 && $rafales < 6) {$bf=1;} if($rafales >= 6 && $rafales < 12) {$bf=2;} if($rafales >= 12 && $rafales < 20) {$bf=3;} if($rafales >= 20 && $rafales < 29) {$bf=4;} if($rafales >= 29 && $rafales < 39) {$bf=5;}if($rafales >= 39 && $rafales < 50) {$bf=6;} if($rafales >= 50 && $rafales < 62) {$bf=7;} if($rafales >= 62 && $rafales < 75) {$bf=8;} if($rafales >= 75 && $rafales < 89) {$bf=9;} if($rafales >= 89 && $rafales < 103) {$bf=10;} if($rafales >= 103 && $rafales < 118) {$bf=11;} if($rafales >= 118) {$bf=12;}else {$bf='';}return $rafales;}if($typefile=="month"){list($jour,$meantemp,$highttemp,$hourhighttemp,$lowtemp,$hourlowtemp,$rain,$ventmoyen,$rafales,$hourrafales,$domdir) = parseFile($file);$tn = getmin($lowtemp);$tx = getmax($highttemp);$wx = getmax($rafales);$rx = getmax($rain);$rs = array_sum($rain);$tm = getmoy($meantemp);$wm = getmoy($ventmoyen);$bf = beaufort($rafales); <........ligne que j'ai ajouté$dr = getrec($domdir);$tmx = getmax($meantemp);$tmn = getmin($meantemp);if($data==""){echo " Tableau récapitulatif pour ".gettitre($file)." Jour Température Vent Pluie min max moy Vitesse (rafales) Beaufort Secteur mais la je plante depuis 3 jours a fond (j ai le temps car arret de travail temporaire). j'ai essayé plusieurs solution mais rien ne s affiche. merci pour votre aide a+ Lien à poster Partager sur d’autres sites More sharing options...
Invité Guest Posté(e) 8 septembre 2011 Partager Posté(e) 8 septembre 2011 Cela ne répondra absolument pas à votre réponse, et je n'ai pas envie d'embéter mon monde, mais techniquement Beaufort c'est pour le vent soutenu, pas les rafales... Mais c'est quoi ce correcteur automatique... emmerd*r c'est du français un peu vulgaire, mais bon Lien à poster Partager sur d’autres sites More sharing options...
ZHB Posté(e) 8 septembre 2011 Partager Posté(e) 8 septembre 2011 Salut, A la deuxième ligne de ta fonction tu as ajouté "$rafales = "";" donc ta variable $rafales sera toujours vide et ta fonction renverra toujours une variable de type string vide... Faut donc supprimer cette deuxième ligne qui ne sert à rien. Lien à poster Partager sur d’autres sites More sharing options...
ben6114 Posté(e) 8 septembre 2011 Ticheville-alt: 216 m (61-Orne-Normandie) Auteur Partager Posté(e) 8 septembre 2011 autant pour moi,j'ai donc corriger les variables $rafales par $ventmoyen . l autre correction 2eme ligne est supprimée,merci. j arrive maintenant a afficher la valeur $ventmoyen dans la colonne beaufort mais impossible d'afficher la varirable $bf. je continue de mon coté en attendant votre solution,pertinence et ........patience. merci a+ Lien à poster Partager sur d’autres sites More sharing options...
ZHB Posté(e) 8 septembre 2011 Partager Posté(e) 8 septembre 2011 Tu essaye de retourner la valeur d'un tableau mais celle-ci n'est pas contenue dans un tableau. Il te suffit d'appeler ta fonction lors de l'affichage de la valeur du vent moyen function beaufort($wind){ if($wind < 1 ) {$bf=0;} if($wind >= 1 && $wind < 6) {$bf=1;} if($wind >= 6 && $wind < 12) {$bf=2;} if($wind >= 12 && $wind < 20) {$bf=3;} if($wind >= 20 && $wind < 29) {$bf=4;} if($wind >= 29 && $wind < 39) {$bf=5;} if($wind >= 39 && $wind < 50) {$bf=6;} if($wind >= 50 && $wind < 62) {$bf=7;} if($wind >= 62 && $wind < 75) {$bf=8;} if($wind >= 75 && $wind < 89) {$bf=9;} if($wind >= 89 && $wind < 103) {$bf=10;} if($wind >= 103 && $wind < 118) {$bf=11;} if($wind >= 118) {$bf=12;} return $bf;}function afficheTable($file){$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];$sep = explode("/",$url);for($i=0;$iTableau récapitulatif pour ".gettitre($file)."JourTempératureVentPluiemin max moy Vitesse (rafales) Beaufort Secteur";for ($i=0;$i\n"; echo "$jour[$i]\n"; if($lowtemp[$i]!=""){echo "$lowtemp[$i] °C\n";}else{echo "---\n";} if($highttemp[$i]!=""){echo "$highttemp[$i] °C\n";}else{echo "---\n";} if($meantemp[$i]!=""){echo "$meantemp[$i] °C\n";}else{echo "---\n";} if($ventmoyen[$i]!=""){echo "$ventmoyen[$i] km/h ($rafales[$i] km/h)\n";}else{echo "--- ---\n";} if($ventmoyen[$i]!="") {echo ''.beaufort($ventmoyen[$i]).'';}else{echo "--- ---\n";} if($domdir[$i]!=""){echo " $domdir[$i]\n";}else{echo "---\n";} if($rain[$i]!=""){echo "$rain[$i] mm\n";}else{echo "---\n";} echo "\n";}echo "\nTotal\n$tn °C\n$tx °C\n$tm °C\n$wm km/h ($wx km/h)\n $dr\n$rs mm\n\n";echo "\n";}} Lien à poster Partager sur d’autres sites More sharing options...
ZHB Posté(e) 8 septembre 2011 Partager Posté(e) 8 septembre 2011 J'ai oublié de te dire d'enlever le "else {$bf='';}" dans ta fonction beaufort, c'est comme avant tu retourne la variable $bf qui est vide... Edit : J'ai modifié le code de mon message précédent en l'ayant testé ; tout fonctionne. Lien à poster Partager sur d’autres sites More sharing options...
ben6114 Posté(e) 9 septembre 2011 Ticheville-alt: 216 m (61-Orne-Normandie) Auteur Partager Posté(e) 9 septembre 2011 merci pour ton aide,maintenant c est ok merci. de mon cote j arriver a afficher 0 ou 12 ???? là j essai de calculer le nombre de jour de pluie pour le mois dans les stats; puis pour la année. pareil si tu as une soluce je veux bien car j'ai bossé dessus toute la nuit. et oui comme tu as dû comprendre je debute en php avec l'aide du site du zéro; lire lire essayé ...reessyé mais pour l instant,je vais me coucher un peu (un probléme de résolu; merci encore pour ton aide). a+ Lien à poster Partager sur d’autres sites More sharing options...
ZHB Posté(e) 9 septembre 2011 Partager Posté(e) 9 septembre 2011 Il te suffit de compter les valeurs du tableau $rain qui sont plus grands que 0. Jours de pluie sur le mois : ".RAINDAYS($rain)." function RAINDAYS($array){ $i=0; foreach(array_filter($array) AS $value) { if($value > 0) { $i++; } } return $i;} Comment ça tu arrives à afficher 0 ou 12 ??? Si non pour que les caractères spéciaux (accents, etc.) s'affichent correctement sur ton site il faut que tu change l'encodage des fichiers NOAA template. Tu peux le faire facilement avec notepad++ ; pour chaque fichier va dans le menu "encodage" et choisis "convertir en UTF-8 (sans BOM)". Lien à poster Partager sur d’autres sites More sharing options...
chris38 Posté(e) 9 septembre 2011 Partager Posté(e) 9 septembre 2011 Attention, l'échelle de Beaufort correspond au vent moyen, ce serait donc une erreur de vouloir convertir les valeurs des rafales selon l'échelle de beaufort. Lien à poster Partager sur d’autres sites More sharing options...
ben6114 Posté(e) 9 septembre 2011 Ticheville-alt: 216 m (61-Orne-Normandie) Auteur Partager Posté(e) 9 septembre 2011 bonjour a tous. a la suite d'une petite sieste de 4H en 2 jours (eh oui c'est prenant le PHP)mais ca a l'air sympa!,je me permet de vous remercier (particulierement "ZHB") pour vos réponses. bref je continue d'apprendre avec le site du zéro. concernant Beaufort (chris38),j ai fait la correction aussitôt après que "paix" me l'ai dit,c est à dire hier.merci quand même. sinon "ZHB" comme je vois que tu connais ca très bien; as tu la même fonction pour mettre le cumul des jours de pluie dans le tableau année(si cela t'embête pas) ..........car moi j'embête ma femme avec mon site et mon PHP......... je cherches de mon coté (j'en ecris des formules.... avec plein de messages d'erreurs),on dirais le scientifique qui vas trouver la formule.ouie ouie ouie mes cheveux. après ca, mes stats seront bien remplies. de plus,si ca peu faire profiter d'autre personnes,je m'en réjouirais de partager ces fameuses Formules . merci à tous a+ Lien à poster Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant