Code javascript ne répond pas entièrement

Résolu
Martial -  
 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

A voir également:

6 réponses

Utilisateur anonyme
 
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.
0
Utilisateur anonyme
 
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").
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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);



0
Martial
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Martial
 
Et pour ce faire.....j'attends qu'il y est des UV !!
A+

Martial
0
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
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Balise html <a>
0
Martial > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Es ce ça marche sur un include ?
parce que chez mo,i ça marche pas !!
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Martial
 
Tu l'as écrit comment ?
0
Martial > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
</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>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu as oublié le </a> ....
0