Code javascript ne répond pas entièrement

Résolu/Fermé
Signaler
-
 Martial -
Bonjour,
sur mon site meteo.vieuxboucau.org, j'ai une sonde UV.
Je veux indiquer le niveau de protection pour chaque indice d'UV.
Seule la valeur $UV="0" semble prise en compte..... ou est l'erreur ?

Ci dessous extrait du code :
<?php  echo '<td>'.$Tr_UV.'</td><td>'.$UV.'</td><td>'; ?>  <script language="javascript">

<script language="javascript">
       </script>
       <script type="text/javascript">
         var $UV="";
         if ($UV>"0" && $UV<"3"){document.write('<span style="color: black; background-color: #c8ef68;">  Faible pas de protection nécessaire  </span><br />');} else
         if ($UV>="3" && $UV<"6"){document.write('<span style="color: black; background-color: #ffe56f;">  Modéré  </span><br />');} else
         if ($UV>="6" && $UV<"8"){document.write('<span style="color: black; background-color: #ff953f;">  Elevé  </span><br />');} else
         if ($UV>="8"){document.write('<span style="color: black; background-color: #ff2f4b;">  Très élevé  </span><br />');} else
         if ($UV="0"){document.write('<span style="color: black;">   pas de protection nécessaire     </span><br />');}
       </script>

[]

EDIT : Ajout des balises de code

Merci de votre aide.
Martial

6 réponses


Le code est écrit exactement comme ça? Car là il y a une balise script qui est ouverte sans être refermée et une autre qui est vide.

Ensuite le var $UV définit juste une variable JS qui se nomme $UV mais n'a aucun lien avec la variable définit en php si il n'y a pas d'echo ou print.

Après pourquoi utiliser du JS alors que le PHP suffit vu que tu ne fait que du document.write un echo en PHP suffit.

Enfin pourquoi mettre des guillemets autour des chiffres, vu que ça sera une comparaison de type int qui sera fait.
Bonjour

J'ajouterai :
Pourquoi tester la valeur de $UV immédiatement après avoir initialisé var $UV="" ?
if ($UV="0") ne teste pas la valeur de $UV, mais lui donne la valeur "0". Le test serait if ($UV=="0").
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021
3 854
Bonjour,

Plusieurs erreurs dans ton code ...
je suppose que ton $UV dans ton JS est, d'après toi...., le contenu de la variable php $UV .....

Pour ça .. tu dois procéder ainsi :
   var uv = parseInt("<?php echo $UV;?>");


Puis, pour tes IF ..
   
   if (uv>0 && uv<3){
      result = ('<span style="color: black; background-color: #c8ef68;">  Faible pas de protection nécessaire  </span><br />');
   } else if (uv>=3 && uv<6){
      result('<span style="color: black; background-color: #ffe56f;">  Modéré  </span><br />');
   } else if (uv>=6 && uv<8){
      result('<span style="color: black; background-color: #ff953f;">  Elevé  </span><br />');
   } else if (uv>=8){
     result('<span style="color: black; background-color: #ff2f4b;">  Très élevé  </span><br />');
   } else if (uv==0){
     result('<span style="color: black;">  pas de protection nécessaire </span><br />');
   }
 
 document.write(result);


Perso.. j'aurais plutôt écrit ton code comme ceci :
   var result = "";
   var bgcolor ="";
   var txt = "";
   
   var uv = parseInt("<?php echo $UV;?>");
      
   swtich(true){
   case (uv >= 8) :
     bgcolor = "#ff2f4b";
     txt = "Très élevé";
    break;
   case (uv >= 6) :
     bgcolor = "#ff953f";
     txt = "Elevé";
    break;
   case (uv >= 3) :
     bgcolor = "#ffe56f";
     txt = "Modéré";
    break;
   case (uv >= 1) :
     bgcolor = "#c8ef68";
     txt = "Faible pas de protection nécessaire";
    break;
   case (uv == 0) :
     bgcolor = "";
     txt = "pas de protection nécessaire";
    break;
   }
   result = "<span style='color: black; background-color: "+bgcolor+"'>"+txt+"</span><br>";
   document.write(result);



Bonjour et merci :
A
ZeNairolf
Le père
Jordane45

Vous l'avez certainement compris je ne connais rien au Javasript.
J'ai tout simplement pompé ce script sur un site et depuis des jours et des jours j'essaie de l'adapter !
je vais essayer de comprendre vos solutions et de les mettre en pratique.
Je reviendrais vers vous à ce moment la, en attendant soyez en remercié mille fois.
Martial
Et pour ce faire.....j'attends qu'il y est des UV !!
A+

Martial
Bonjour

Ca y est ya du soleil et ......ça marche !!!
j'ai pu tester certains indice, pas de raison que les autres répondent différemment.
Merci encore de votre aide, j'étais vraiment mal parti.
par contre es ce que je peux mettre un lien pour une page sur le mot protection ?
if (uv>0 && uv<3){
result = ('<span style="color: black; background-color: #c8ef68;"> Faible pas de protection nécessaire </span><br />');
Dreamwierver ne semble pas le permettre.
Merci encore.
Martial
>
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021

Es ce ça marche sur un include ?
parce que chez mo,i ça marche pas !!
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021
3 854 > Martial
Tu l'as écrit comment ?
>
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021

</script>
<script type="text/javascript">
var uv = parseInt("<?php echo $UV;?>");

if (uv>0 && uv<3){
result = ('<span style="color: black; background-color: #c8ef68;"> Faible pas de <a href="uv_protection.php" rel="nofollow noopener noreferrer" target="_blank">protection nécessaire </span><br />');
} else if (uv>=3 && uv<6){

result = ('<span style="color: black; background-color: #ffe56f;"> Modéré protection nécessaire </span><br />');
} else if (uv>=6 && uv<8){
result = ('<span style="color: black; background-color: #ff953f;"> Elevé protection nécessaire </span><br />');
} else if (uv>=8){
result = ('<span style="color: black; background-color: #ff2f4b;"> Très élevé </span><br />');
} else if (uv==0){
result = ('<span style="color: black;"> Pas d' UV </span><br />');
}

document.write(result);
</script>
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021
3 854
Tu as oublié le </a> ....
>
Messages postés
34217
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2021

Je m'en veut, je suis pas doué,mais ça j'aurais du le voi !!!
Merci de ton aide, et merci à commentcamarche.
Merci encore.